# Hurricane Documentation

# Hurricane VLSI Database

List of all members | Public Types | Public Member Functions | Static Public Member Functions
Hurricane::Library Class Reference

Library description (API) More...

Inheritance diagram for Hurricane::Library:
[legend]

## Public Types

typedef DBo | Inherit

## Public Member Functions

DataBase * | getDataBase () const
Library * | getLibrary () const
const Name & | getName () const
Library * | getLibrary (const Name &name) const
Libraries | getLibraries () const
Cell * | getCell (const Name &name) const
Cells | getCells () const
void | setName (const Name &name)
Public Member Functions inherited from Hurricane::DBo
virtual void | destroy ()
Property * | getProperty (const Name &) const
Properties | getProperties () const
bool | hasProperty () const
void | put (Property *)
void | remove (Property *)
void | removeProperty (const Name &)
void | clearProperties ()

## Static Public Member Functions

static Library * | create (DataBase *dataBase, const Name &name)
static Library * | create (Library *library, const Name &name)

## Detailed Description

Library description (API)

# Introduction

A library contains a set of symbols, a set of cells and may also contains a set of sub libraries.

A root library exists directly attached to the data_base. This root library is the only one which has no parent library.

## Member Typedef Documentation

## ◆ Inherit

Hurricane::Library::Inherit

Useful for calling upon methods of the base class without knowing it.

## Member Function Documentation

## ◆ create() [1/2]

Library * Hurricane::Library::create | ( | DataBase * | dataBase,
|  | const Name & | name
| ) |  |

static

creates and returns a new root library named `<name>` for the data base `<dataBase>`.

Caution: Throws an exception if the data base is null, if the name is
  empty or if the data base already contains a root library.

## ◆ create() [2/2]

Library * Hurricane::Library::create | ( | Library * | library,
|  | const Name & | name
| ) |  |

static

creates and returns a new sub library named `<name>` for the library `<library>`.

Caution: Throws an exception if the library is null, if the name is
  empty or if a sub library with same name already exists in the library.

## ◆ getDataBase()

DataBase * Hurricane::Library::getDataBase | ( |  | ) | const

inline

Returns: the data base owning directly or indirectly the library.

## ◆ getLibrary() [1/2]

Library * Hurricane::Library::getLibrary | ( |  | ) | const

inline

Returns: the library owning the library (NULL for the root library).

## ◆ getName()

const Name & Hurricane::Library::getName | ( |  | ) | const

inline

Returns: the name of the library.

## ◆ getLibrary() [2/2]

Library * Hurricane::Library::getLibrary | ( | const Name & | name | ) | const

inline

Returns: the sub library of name `<name>` if it exists, else NULL.

## ◆ getLibraries()

Libraries Hurricane::Library::getLibraries | ( |  | ) | const

inline

Returns: the collection of all sub libraries of the library.

## ◆ getCell()

Cell * Hurricane::Library::getCell | ( | const Name & | name | ) | const

inline

Returns: the cell of name `<name>` if it exists, else NULL.

## ◆ getCells()

Cells Hurricane::Library::getCells | ( |  | ) | const

inline

Returns: the collection of all cells of the library.

## ◆ setName()

void Hurricane::Library::setName | ( | const Name & | name | ) |

Allows to change the library name.

Remarks
  Throws an exception if the new name is empty or if the library owning the library (if any) has already a sub library with the same name.

The documentation for this class was generated from the following files:

- Library.h
- Library.dox