oaNameMem Class Reference


Public Methods

 oaNameMem ()
 oaNameMem (const oaString &in, oaBoolean caseSensitive)
 oaNameMem (const oaChar *in, oaBoolean caseSensitive)
 oaNameMem (const oaNameMem &name)
oaBoolean isCaseSensitive () const
oaBoolean hasIndex () const
oaUInt4 getIndex () const
const oaStringgetValue () const
void getBaseName (oaString &out) const
oaNameMem & operator= (const oaNameMem &value)

Friends

class oaNameTbl
class oaNameBase
class oaScalarName
class oaVectorBitName
class oaVectorName

Detailed Description

The oaNameMem class is an internal part of the structure of any oaName. It is used by code that implements namespaces. Each oaNameMem holds a single hierarchical part of a name. So a hierarchical name that would look like mod4.abuf[4] in the Verilog namespace would be stored in two oaNameMems. This class exposes the internal storage of names as a string in the Native namespace. Each nameMem may be set as case-insensitive or case-sensitive. Regular application code should not directly reference oaNameMems.

Instances of oaNameMem are referenced by various oaName classes. If a name is hierarchical, its oaName will reference an array of oaNameMems. See oaNameBase for information on accessing these NameMems.


Constructor & Destructor Documentation

oaNameMem::oaNameMem   [inline]
 

This function constructs an empty oaNameMem object.

oaNameMem::oaNameMem const oaString &    in,
oaBoolean    caseSensitive
[inline]
 

This function constructs an oaNameMem object, initializing the name to the specified input string value.

Parameters:
in The string value to which to initialize this name
caseSensitive The case sensitivity of this name in its original nameSpace

oaNameMem::oaNameMem const oaChar *    in,
oaBoolean    caseSensitive
[inline]
 

This function constructs an oaNameMem object, initializing the name to the specified input character value.

Parameters:
in The string value to which to initialize this name
caseSensitive The case sensitivity of this name in its original nameSpace

oaNameMem::oaNameMem const oaNameMem &    name [inline]
 

This function constructs a copy of this oaNameMem object, initializing it to the specified name value.


Member Function Documentation

void oaNameMem::getBaseName oaString &    out const
 

This function returns the string portion of this object without its index portion, mapped to the oaNative nameSpace.

For example, an oaNameMem with the string value test[4] returns test.

Parameters:
out The string value of this name member without its index

oaUInt4 oaNameMem::getIndex   const
 

This function returns an integer indicating the index value of this name member. For example, an oaNameMem with the string value test[4] returns the value 4.

Returns:
The integer value of the index of this name member
Exceptions:
oacNameNotIndexed 

const oaString & oaNameMem::getValue   const [inline]
 

This function returns the string value of the oaNameMem object in the oaNative nameSpace. If the name member has an index, the index is included in the string returned.

Returns:
The string value of this name member in the oaNative nameSpace

oaBoolean oaNameMem::hasIndex   const [inline]
 

This function returns a boolean value that indicates if this object has an associated index.

oaBoolean oaNameMem::isCaseSensitive   const [inline]
 

This function returns a boolean value that indicates if this name member was case sensitive in its original nameSpace.

oaNameMem & oaNameMem::operator= const oaNameMem &    value [inline]
 

This function is the assignment operator that copies the specified oaNameMem object and returns it. The function copies all member data so the duplicate does not rely on information from the original.


Friends And Related Function Documentation

friend class oaNameBase [friend]
 

friend class oaNameTbl [friend]
 

friend class oaScalarName [friend]
 

friend class oaVectorBitName [friend]
 

friend class oaVectorName [friend]
 


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

Return to top of page