Path description (API) More...
Public Member Functions | |
Path (SharedPath *sharedPath=NULL) | |
Path (Instance *instance) | |
Path (Instance *headInstance, const Path &tailPath) | |
Path (const Path &headPath, Instance *tailInstance) | |
Path (Cell *cell, const string &pathName) | |
Path (const Path &path) | |
~Path () | |
Path & | operator= (const Path &path) |
bool | operator== (const Path &path) const |
bool | operator!= (const Path &path) const |
bool | operator< (const Path &path) const |
Instance * | getHeadInstance () const |
Path | getTailPath () const |
Path | getHeadPath () const |
Instance * | getTailInstance () const |
string | getName () const |
Cell * | getOwnerCell () const |
Cell * | getMasterCell () const |
Instances | getInstances () const |
Transformation | getTransformation (const Transformation &transformation=Transformation()) const |
bool | isEmpty () const |
Static Public Member Functions | |
static char | getNameSeparator () |
static void | setNameSeparator (char nameSeparator) |
Path description (API)
Pathes are objects representing an ordered sequence of instances through the hierarchy.
They are represented by a head instance which defines the path start and tail path which defines the remaining path with respect to the cell model referenced by the head instance.
terminology A non void path begins by an instance : this instance pertains to the top caller cell, named OwnerCell. On the other hand the path ends by an instance (which may be the same) : this instance refers to its model which will be named the MasterCell.
The different constructors (appart the one which analyses the names of the path) as welle as the destructor and the different operators are very efficient because the tail pathes being shared, only pointer assignments and pointer comparisons are realized.
Hurricane::Path::Path | ( | SharedPath * | sharedPath = NULL | ) |
Default constructor : the path is then void.
Hurricane::Path::Path | ( | Instance * | instance | ) |
Builds the path made up of this unique instance.
Builds the path with head instance <headInstance>
and tail path <tailPath>
.
Builds the path with head path <headPath>
and tail instance <tailInstance>
.
Hurricane::Path::Path | ( | Cell * | cell, |
const string & | pathName | ||
) |
Builds the path representing the logic sequence of instance names described as a character string. Each instance name is separated from the preceeding one by a special delimiter (which can be defined with the function setPathNameSeparator to be defined later). The cell given in argument defines where sarts the search (at each new instance identified, we go to its model cell to pursue the search within the <pathName>
).
Hurricane::Path::Path | ( | const Path & | path | ) |
Copy constructor.
Hurricane::Path::~Path | ( | ) |
No description.
bool Hurricane::Path::operator== | ( | const Path & | path | ) | const |
Two pathes are equal if they have the same head instance and if their tail pathes are equal.
bool Hurricane::Path::operator!= | ( | const Path & | path | ) | const |
Two pathes are differents either if they have different head instance or if the tail pathes differ.
bool Hurricane::Path::operator< | ( | const Path & | path | ) | const |
This comparator has no particular signification. It is just defined to be abble to use a STL set of pathes which need a comparator.
|
static |
Returns: the special character used as a separator between the instance names of a path. By default it is the '.' (point).
Instance * Hurricane::Path::getHeadInstance | ( | ) | const |
Returns: the head instance or NULL if the path is void.
Path Hurricane::Path::getTailPath | ( | ) | const |
Returns: the tail path or a void path if the path has 1 or 0 hierarchical depth.
Path Hurricane::Path::getHeadPath | ( | ) | const |
Returns: the head path or a void path if the path has 1 or 0 hierarchical depth.
Instance * Hurricane::Path::getTailInstance | ( | ) | const |
Returns: the tail instance or NULL if the path is void.
string Hurricane::Path::getName | ( | ) | const |
Returns: a string defined by the concatenation of instance names separated by a special character (which can be set up by the function setPathNameSeparator).
Returns: the string "" when the path is void.
Cell * Hurricane::Path::getOwnerCell | ( | ) | const |
Retruns the cell owning the head instance or NULL if the path is void.
Cell * Hurricane::Path::getMasterCell | ( | ) | const |
Returns: the master cell referenced by the last instance of the path or NULL if the path is void.
Instances Hurricane::Path::getInstances | ( | ) | const |
Returns: the collection of instances defining the path.
Transformation Hurricane::Path::getTransformation | ( | const Transformation & | transformation = Transformation() | ) | const |
Returns: the transform resulting of the composition of all transforms associated with the different instances of the path, applied to the given <transformation>
.
bool Hurricane::Path::isEmpty | ( | ) | const |
Returns: true if the path is void and else false.
|
static |
This function sets the special character used as a separator between the instance names of a path (choose it carrefully, it must not appear in any instance name).
Generated by doxygen 1.9.1 on Thu Aug 11 2022 | Return to top of page |
Hurricane VLSI Database | Copyright © 2000-2020 Bull S.A. All rights reserved |