# Hurricane Documentation

# Hurricane VLSI Database

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

The whole DataBase (API). More...

Inheritance diagram for Hurricane::DataBase:
[legend]

## Public Member Functions

Technology * | getTechnology () const
Library * | getRootLibrary () const
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 DataBase * | create ()
static DataBase * | getDB ()

## Detailed Description

The whole DataBase (API).

The unique purpose of this object is to handle, at any time, directly or indirectly, the whole set of currently allocated objects of the data base.

This is a singleton object, only one can exist at a given time.

The data base must be created explicitely (it is possible to derive a sub-type with specific additional attributes, or use properties to store them).

The Database object handles both the Technology and the root Library.

Caution: Destroying the DataBase object destroys all data base objects.

## Member Function Documentation

## ◆ create()

DataBase * Hurricane::DataBase::create | ( |  | ) |

static

creates and returns a pointer to a new DataBase.

Caution: An exception is thrown if a Database already exists.

## ◆ getTechnology()

Technology * Hurricane::DataBase::getTechnology | ( |  | ) | const

inline

Returns
  the Technology if it exists, else `NULL`.

## ◆ getRootLibrary()

Technology * Hurricane::DataBase::getRootLibrary | ( |  | ) | const

inline

Returns
  the root Library if it exists, else `NULL`.

## ◆ getDB()

DataBase * Hurricane::DataBase::getDB | ( |  | ) |

static

This static function returns the current DataBase, if it has been created and not destroyed, else `NULL`.

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

- DataBase.h
- DataBase.dox