# Coriolis Core (CRL) Documentation

Public Types | Public Member Functions | List of all members
CRL::Catalog::State Class Reference

An entry to store the Cell State in the Catalog. More...

## Public Types
enum | Flags { , Feed = 1 << 1, Pad = 1 << 2, GDS = 1 << 3, Delete = 1 << 4, Logical = 1 << 5, Physical = 1 << 6, InMemory = 1 << 7 , Views = Physical|Logical }

## Public Member Functions
| State ()
| ~State ()
bool | isFeed () const
bool | isPad () const
bool | isGds () const
bool | isDelete () const
bool | isPhysical () const
bool | isLogical () const
unsigned int | getFlags (unsigned int mask=(unsigned int) -1) const
bool | setFlags (unsigned int mask, bool value)
bool | setFeed (bool value)
bool | setPad (bool value)
bool | setGds (bool value)
bool | setDelete (bool value)
bool | setPhysical (bool value)
bool | setLogical (bool value)
Cell * | getCell () const
Library * | getLibrary () const
unsigned int | getDepth () const
void | merge (const State &other)
Cell * | setCell (Cell *cell)
Library * | setLibrary (Library *library)

## Detailed Description

An entry to store the Cell State in the Catalog.

Catalog::State can be accessed through the AllianceFramework global Catalog, or on a Cell basis, usign the CatalogExtension helper.

## Member Enumeration Documentation

## ◆ Flags

enum CRL::Catalog::State::Flags

Flags to indicates Cell State (Alliance metadatas).

Enumerator
Feed | The Hurricane::Cell is a feed cell.
Pad | The Hurricane::Cell is a pad cell.
GDS | The Hurricane::Cell has a real layout (i.e. not symbolic).
Delete | The Hurricane::Cell has been deleted from memory.
Logical | The Hurricane::Cell have a logical (netlist) view.
Physical | The Hurricane::Cell have a physical (layout) view.
InMemory | The Hurricane::Cell has been loaded, at least partially, in memory.
Views | A composite flag to mask all the avalaible kinds of views. Currently, physical & logical.

## Constructor & Destructor Documentation

## ◆ State()

CRL::Catalog::State::State | ( |  | ) |
| inline

A new, empty, State entry.

## ◆ ~State()

CRL::Catalog::State::~State | ( |  | ) |

Free a Catalog::State object.

## Member Function Documentation

## ◆ isFeed()

bool CRL::Catalog::State::isFeed | ( |  | ) | const
| inline

Returns: true if the Cell is a feed-through.

Referenced by CRL::CatalogExtension::isFeed().

## ◆ isPad()

bool CRL::Catalog::State::isPad | ( |  | ) | const
| inline

Returns: true if the Cell is a pad.

Referenced by CRL::CatalogExtension::isPad().

## ◆ isGds()

bool CRL::Catalog::State::isGds | ( |  | ) | const
| inline

Returns: true if the Cell is drawn in real layer (i.e. not a symbolic layout, but a GDS).

Referenced by CRL::CatalogExtension::isGds().

## ◆ isDelete()

bool CRL::Catalog::State::isDelete | ( |  | ) | const
| inline

Returns: true if the Cell has been deleted from memory.

Referenced by CRL::CatalogExtension::isDelete().

## ◆ isPhysical()

bool CRL::Catalog::State::isPhysical | ( |  | ) | const
| inline

Returns: true if the Cell posseses a physical view (layout).

Referenced by CRL::CatalogExtension::isPhysical().

## ◆ isLogical()

bool CRL::Catalog::State::isLogical | ( |  | ) | const
| inline

Returns: true if the Cell posseses a logical view (netlist).

Referenced by CRL::CatalogExtension::isLogical().

## ◆ getFlags()

unsigned int CRL::Catalog::State::getFlags | ( | unsigned int | mask = `(unsigned int)-1` | ) | const
| inline

Returns: the requested flags states (selected by `mask`, all of them by default).

Referenced by CRL::CatalogExtension::getFlags().

## ◆ setFlags()

bool CRL::Catalog::State::setFlags | ( | unsigned int | mask,
|  | bool | value
| ) |  |
| inline

Returns: true if at least one flag of the indicated by mask is set. (dubious usefulness).

`mask` is used to designate the bits of the flags on which we are going to operate. If `value` is true, then the bits are sets and if `value` is false they are reset.

Referenced by CRL::CatalogExtension::setFlags().

## ◆ setFeed()

bool CRL::Catalog::State::setFeed | ( | bool | value | ) |
| inline

Sets the Feed flag to `value`. Returns true if it is set.

Referenced by CRL::CatalogExtension::setFeed().

## ◆ setPad()

bool CRL::Catalog::State::setPad | ( | bool | value | ) |
| inline

Sets the Pad flag to `value`. Returns true if it is set.

Referenced by CRL::CatalogExtension::setPad().

## ◆ setGds()

bool CRL::Catalog::State::setGds | ( | bool | value | ) |
| inline

Sets the Gds flag to `value`. Returns true if it is set.

Referenced by CRL::CatalogExtension::setGds().

## ◆ setDelete()

bool CRL::Catalog::State::setDelete | ( | bool | value | ) |
| inline

Sets the Delete flag to `value`. Returns true if it is set.

Referenced by CRL::CatalogExtension::setDelete().

## ◆ setPhysical()

bool CRL::Catalog::State::setPhysical | ( | bool | value | ) |
| inline

Sets the Physical flag to `value`. Returns true if it is set.

Referenced by CRL::CatalogExtension::setPhysical().

## ◆ setLogical()

bool CRL::Catalog::State::setLogical | ( | bool | value | ) |
| inline

Sets the Logical flag to `value`. Returns true if it is set.

Referenced by CRL::CatalogExtension::setLogical().

## ◆ getCell()

Hurricane::Cell * CRL::Catalog::State::getCell | ( |  | ) | const
| inline

Returns: the associated Hurricane::Cell. May be NULL if it has not been loaded yet (loading is done on demand at AllianceFramework level).

## ◆ getLibrary()

Hurricane::Library * CRL::Catalog::State::getLibrary | ( |  | ) | const
| inline

Returns: the associated Hurricane::Library.

Referenced by CRL::CatalogExtension::getLibrary().

## ◆ getDepth()

unsigned int CRL::Catalog::State::getDepth | ( |  | ) | const
| inline

Returns: the hierarchical depth of the Cell.

Referenced by CRL::CatalogExtension::getDepth().

## ◆ merge()

void CRL::Catalog::State::merge | ( | const State & | other | ) |
| inline

Fill in the void fields of the current State by those from `other`. The non-void are not overriden. Flags are merged unconditionnaly.

## ◆ setCell()

Hurricane::Cell * CRL::Catalog::State::setCell | ( | Hurricane::Cell * | cell | ) |

Sets the Cell field. Returns the newly affected Cell.

## ◆ setLibrary()

Hurricane::Library * CRL::Catalog::State::setLibrary | ( | Hurricane::Library * | library | ) |
| inline

Sets the Library field. Returns the newly affected Library.

Referenced by CRL::CatalogExtension::setLibrary().

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

- Catalog.h
- Catalog.dox

Generated by doxygen 1.8.14 on Mon Apr 27 2020 | Return to top of page

Coriolis Core (CRL) | Copyright © 2008-2016 UPMC All rights reserved