oaLefNS Class Reference

Inheritance diagram for oaLefNS:

oaNameSpace oaDefNS


Public Methods

 oaLefNS ()
void setOpenBusChar (oaChar c)
void setCloseBusChar (oaChar c)
void setHierDelimiter (oaChar c)
oaChar getHierDelimiter () const
oaChar getOpenBusChar () const
oaChar getCloseBusChar () const

Protected Methods

virtual oaBoolean isEqual (const oaVectorName &n1, const oaVectorBitName &n2) const
virtual void getInternalVector (const oaChar *in, oaVectorName &out, oaBoolean baseOnly=false) const
virtual void getVectorName (const oaVectorName &in, oaString &out, oaUInt4 &loc) const
oaBoolean isNonPrintableChar (oaChar c) const
oaBoolean isNormalChar (oaChar c) const
oaBoolean isBusChar (oaChar c) const
oaBoolean isHexDelimiter (oaChar c) const
oaBoolean isEscChar (oaChar c) const
oaBoolean isEscapableChar (oaChar c) const
oaBoolean isHierChar (oaChar c) const

Detailed Description

The oaLefNS class implements the LEF nameSpace used in name mapping. The LEF name space reflects the rules for specifying names of objects in LEF files. In conjunction with the oaName object, the oaLefNS class facilitates mapping names to and from LEF. See the Name Mapping Section of the Programmers Guide for more information.

The LEF NameSpace is case sensitive, with programmable bus charactesr. It does not support vectored, stepped names, or bundle names, though it needs to know what characters are being used as bus delimiters in order to provide the proper mapping. See the LEF/DEF Name Space Section of the Programmers Guide for a more detailed description of the characteristics of the LEF name space.


Constructor & Destructor Documentation

oaLefNS::oaLefNS  
 

This function constructs the LefNS instance.


Member Function Documentation

oaChar oaLefNS::getCloseBusChar   const [inline]
 

This function returns the close bus character for this nameSpace.

oaChar oaLefNS::getHierDelimiter   const [inline]
 

This function returns the hierarchy character for this nameSpace.

virtual void oaLefNS::getInternalVector const oaChar *    in,
oaVectorName &    out,
oaBoolean    baseOnly = false
const [protected, virtual]
 

This function returns in out, the input string mapped into the internal name space. If the value of baseOnly is false, the string is interpreted as an entire vector name. If the value is true, in is interpreted as the base of the vector bit name. Derived name spaces that support vector names should reimplement this function.

Parameters:
in The input string representing a vector name in this name space
out The output vector name object created from mapping input string into the native name space
baseOnly Determines if the input string is an entire vector name or just the base value
Exceptions:
oacVectorNameInvalid 

Reimplemented from oaNameSpace.

Reimplemented in oaDefNS.

oaChar oaLefNS::getOpenBusChar   const [inline]
 

This function returns the open bus character for this nameSpace.

virtual void oaLefNS::getVectorName const oaVectorName &    in,
oaString &    out,
oaUInt4 &    loc
const [protected, virtual]
 

This function returns in the string out, at the location loc, the input vector name in mapped into this name space. It is assumed the input name is in the native name space format. Derived name spaces that support vector names should reimplement this function.

Parameters:
in The input vector name
out The string value of the vector name in this name space
loc The location in out at which the function starts writing
Exceptions:
oacVectorNameInvalid 

Reimplemented from oaNameSpace.

Reimplemented in oaDefNS.

oaBoolean oaLefNS::isBusChar oaChar    c const [inline, protected]
 

This function returns a boolean value that indicates if the specified character is a bus character in this nameSpace.

oaBoolean oaLefNS::isEqual const oaVectorName &    n1,
const oaVectorBitName &    n2
const [protected, virtual]
 

This function returns a boolean indicating whether or not the two specified names are equal in this namespace.

Parameters:
n1 The oaVectorName to compare
n2 The oaVectorBitName to compare

Implements oaNameSpace.

Reimplemented in oaDefNS.

oaBoolean oaLefNS::isEscapableChar oaChar    c const [inline, protected]
 

This function returns true if the specified character is an escapable character in this nameSpace.

oaBoolean oaLefNS::isEscChar oaChar    c const [inline, protected]
 

This function returns true if the specified character is an escape character in this nameSpace.

oaBoolean oaLefNS::isHexDelimiter oaChar    c const [inline, protected]
 

This function returns true if the specified character is a hex delimiter character in this nameSpace.

oaBoolean oaLefNS::isHierChar oaChar    c const [inline, protected]
 

This function returns true if the specified character is a hierarchy character in this nameSpace.

oaBoolean oaLefNS::isNonPrintableChar oaChar    c const [inline, protected]
 

This function returns a boolean indicating whether or not the specified character is a nonPrintable character in this nameSpace.

Parameters:
c The oaChar to check

oaBoolean oaLefNS::isNormalChar oaChar    c const [inline, protected]
 

This function returns true if the specified character is a normal character in this nameSpace.

void oaLefNS::setCloseBusChar oaChar    c [inline]
 

This function sets the value of the close bus character for this nameSpace.

Parameters:
c The value of the close bus character
Exceptions:
oacProgrammableCharTaken 

void oaLefNS::setHierDelimiter oaChar    c [inline]
 

This function sets the value of the hierarchy delimiter for this nameSpace.

Parameters:
c The value of the hierarchy delimiter
Exceptions:
oacProgrammableCharTaken 

void oaLefNS::setOpenBusChar oaChar    c [inline]
 

This function sets the value of the open bus character for this nameSpace.

Parameters:
c The value of the open bus character
Exceptions:
oacProgrammableCharTaken 


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

Return to top of page