Inheritance diagram for oaNameSpace:
Public Methods | |
virtual | ~oaNameSpace () |
virtual oaBoolean | isEqual (const oaScalarName &n1, const oaScalarName &n2) const=0 |
virtual oaBoolean | isEqual (const oaVectorName &n1, const oaVectorName &n2) const=0 |
virtual oaBoolean | isEqual (const oaVectorBitName &n1, const oaVectorBitName &n2) const=0 |
virtual oaBoolean | isEqual (const oaBundleName &n1, const oaBundleName &n2) const=0 |
virtual oaBoolean | isEqual (const oaSimpleName &n1, const oaSimpleName &n2) const=0 |
virtual oaBoolean | isEqual (const oaName &n1, const oaName &n2) const=0 |
virtual oaBoolean | isEqual (const oaNameMem &n1, const oaNameMem &n2) const=0 |
virtual oaNameType | getType (const oaChar *in) const=0 |
virtual void | getInternalMember (const oaChar *in, oaString &out, oaBoolean &caseSensitive, oaUInt4 len, oaUInt4 flags=0) const=0 |
virtual void | getInternalScalar (const oaChar *in, oaScalarName &out) const=0 |
virtual void | getInternalVBit (const oaChar *in, oaVectorBitName &out, oaBoolean baseOnly=false) const |
virtual void | getInternalVector (const oaChar *in, oaVectorName &out, oaBoolean baseOnly=false) const |
virtual void | getInternalBundle (const oaChar *in, oaBundleName &out) const |
virtual void | getMember (const oaChar *in, oaBoolean caseSensitive, oaString &out, oaUInt4 &loc, oaUInt4 flags=0) const=0 |
virtual void | getMemberArray (const oaNameMem *in, oaUInt4 numMembers, oaString &out, oaUInt4 &loc) const |
virtual void | getScalarName (const oaScalarName &in, oaString &out, oaUInt4 &loc) const=0 |
virtual void | getVectorName (const oaVectorName &in, oaString &out, oaUInt4 &loc) const |
virtual void | getVectorBitName (const oaVectorBitName &in, oaString &out, oaUInt4 &loc) const |
virtual void | getVectorBitName (const oaNameMem *in, oaUInt4 numMembers, oaUInt4 start, oaString &out, oaUInt4 &loc) const |
virtual void | getBundleName (const oaBundleName &in, oaString &out, oaUInt4 &loc) const |
virtual void | getSimpleName (const oaSimpleName &in, oaString &out, oaUInt4 &loc) const |
virtual void | get (const oaByte *data, oaString &out, oaUInt4 &loc) const=0 |
Protected Methods | |
virtual oaBoolean | isEqual (const oaVectorName &n1, const oaVectorBitName &n2) const=0 |
void | decodeChar (const oaChar *str, oaChar &out, oaUInt2 &shift) const |
void | encodeChar (oaChar *str, oaChar delimiter, oaChar c) const |
void | writeChar (oaString &str, oaUInt4 &index, oaChar val) const |
void | writeInt (oaString &str, oaUInt4 &index, int val) const |
oaUInt4 | getUInt (const oaChar *&str) const |
oaUInt4 | getUInt (const oaChar *str, oaUInt4 &end) const |
oaUInt4 | readUInt4 (const oaByte *data, oaUInt4 &loc) const |
const char * | readStr (const oaByte *data, oaUInt4 &loc) const |
oaBoolean | isInternalNormalChar (oaChar c) const |
oaBoolean | isInternalBusChar (oaChar c) const |
oaBoolean | isInternalHexDelimiter (oaChar c) const |
Friends | |
class | oaNameBase |
class | oaScalarName |
class | oaVectorName |
class | oaVectorBitName |
class | oaBundleName |
class | oaSimpleName |
class | oaName |
Functions for oaNameSpace are not used by the normal application code. The functions are only used by the developers creating their own name space. To create your own name space, create a class derived from oaNameSpace and implement the virtual functions in oaNameSpace that require non-default behavior for your own name space. These functions have default implementations on the oaNameSpace class itself, and the defaults described here are appropriate for some name spaces.
All namespaces apply to external representations of names. Names have an internal representation that is not simply a string. This internal format uses the oaNative name space for portions of the name. Thus, when implementing a new derived name space, you need to determine how to translate names from your original language to the desired output names in the oaNative name space, and vice versa. Since any name handed to a name space is in internal format, the derived name space just needs to provide a translation from oaNative to their name space, and from their name space to oaNative. Once this is implemented, names in the new derived name space can be mapped to any other derived name space.
When a name space receives a name from the database, the name is stored in a tighly packed byte array for efficiency. The oaNameSpace class provides utility functions such as readUInt4() and readStr() to help interpret this byte array. A derived name space must implement the get() function which reads in the byte array and maps it to an output string in the derived name space.
See Deriving Your Own Namespace Section of the Programmer's Guide for more information.
|
This function is the default destructor for the oaNameSpace class. |
|
This utility function is for decoding hex encoded characters found in names. This function is used by the derived name spaces as a utility to help implement the functions that map to and from the native name space. When a name contains a character that is illegal in the name space to which it is being mapped (even in any escaped form that name space may have), the name mapping algorithm uses character encoding to map the names. Characters that are illegal in the destination name space are replaced with a hex delimiter followed by the character value encoded as two hexadecimal digits. This function can be used to decode the hex value that represents the illegal character.
|
|
This utility function is for hex encoding characters that have special meaning and cannot be represented in certain names. Characters are encoded as the hex delimiter specified followed by the characters hex value. This function is for use by derived name spaces as a utility to help implement the functions that map to and from the native name space.
|
|
This function returns in the string out, beginning at the location loc, the input data block data mapped into this name space. For efficiency, when the database hands a name to the name space, the name is packed into a byte array with a predefined format. This avoids the overhead of allocating a name object in order to map the name to the destination name space. The get() function in the derived name space translates this byte array into a string mapped in the destination name space. More information on the format for the data byte array is available in the Programmers Guide topic, 'Deriving Your Own NameSpace'. Note: This is a pure virtual function, defined but not implemented in oaNameSpace. Classes derived from oaNameSpace must define this function in order to be instantiated.
|
|
This function returns in the string out, beginning at the location loc, the input bundle 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 bundle names should reimplement this function.
|
|
This function returns in out, the input string mapped into the internal name space. Derived name spaces that support bundle names should reimplement this function.
|
|
This function returns in out, the input string mapped into the internal name space. The len characters of the input string are evaluated. The default is to evaluate the entire string. Note: This is a pure virtual function, defined but not implemented in oaNameSpace. Classes derived from oaNameSpace must define this function in order to be instantiated.
|
|
This function returns in out, the input string mapped into the internal name space. Note: This is a pure virtual function, defined but not implemented in oaNameSpace. Classes derived from oaNameSpace must define this function in order to be instantiated.
|
|
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 bit name. If the value is true, in is interpreted as the base of the vector bit name. Derived name spaces that support indexed names should reimplement this function.
|
|
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.
|
|
This function returns in the string out, at the location loc, the input name member in with case sensitivity value caseSensitive mapped into this name space. It is assumed that the input name is in the native name space format. Note: This is a pure virtual function, defined but not implemented in oaNameSpace. Classes derived from oaNameSpace must define this function in order to be instantiated.
|
|
This function returns in the string out, at the location loc, the input name member array in, mapped into this name space. It is assumed the array has numMembers elements and the input name is in the internal name space format. Derived name spaces that support hierarchical names should reimplement this function.
|
|
This function returns in the string out, at the location loc, the input scalar name in mapped into this name space. It is assumed the input name is in the internal namespace format. Note: This is a pure virtual function, defined but not implemented in oaNameSpace. Classes derived from oaNameSpace must define this function in order to be instantiated.
|
|
This function returns in the string out, at the location loc, the input simpleName in mapped into this name space. It is assumed the input name is in the internal namespace format. The default implementation calls the correct 'get' function for the type of name the simple name represents: scalar, vector bit, or vector.
|
|
This function returns the type of name represented by the specified string this name space: scalar, vector bit, vector, or bundle. This function does not indicate if the name is valid. Note: This is a pure virtual function, defined but not implemented in oaNameSpace. Classes derived from oaNameSpace must define this function in order to be instantiated.
Implemented in oaNativeNS. |
|
This utility function is for reading an integer from the specified string. This function reads the string backwards, starting at the ending index end. The end index is updated to move past the integer and the integer is returned.
|
|
This utility function is for reading an integer from the specified string. The character pointer is moved past the integer and the integer is returned.
|
|
This function returns in the string out, at the location loc, the input vector bit name in mapped into this name space. It is assumed the array has numMembers elements and is in the internal namespace format. Derived name spaces that support indexed names should reimplement this function.
|
|
This function returns in the string out, at the location loc, the input vector bit name in mapped into this name space. It is assumed the input name is in the internal namespace format. Derived name spaces that support indexed names should reimplement this function.
|
|
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.
|
|
This function returns a boolean value that indicates if the specified vector name and vectorbit name are equal in this name space. Since this function is both overloaded and virtual, derived name spaces need to implement all of the isEqual functions. A default implementation is provided to make this easier.
|
|
This function returns a boolean value that indicates if the two specified name members are equal in this name space. Since this function is both overloaded and virtual, derived name spaces needs to implement all of the isEqual functions. Note: This is a pure virtual function, defined but not implemented in oaNameSpace. Classes derived from oaNameSpace must define this function in order to be instantiated.
|
|
This function returns a boolean value that indicates if the two specified names are equal in this name space. Since this function is both overloaded and virtual, derived name spaces need to implement all of the isEqual functions. A default implementation is provided to make this easier.
Implemented in oaNativeNS. |
|
This function returns a boolean value that indicates if the two specified simple names are equal in this name space. Since this function is both overloaded and virtual, derived name spaces need to implement all of the isEqual functions. A default implementation is provided to make this easier.
Implemented in oaNativeNS. |
|
This function returns a boolean value that indicates if the two specified bundle names are equal in this name space. Since this function is both overloaded and virtual, derived name spaces need to implement all of the isEqual functions. A default implementation is provided to make this easier.
Implemented in oaNativeNS. |
|
This function returns a boolean value that indicates if the two specified vector bit names are equal in this name space. Since this function is both overloaded and virtual, derived name spaces need to implement all of the isEqual functions. A default implementation is provided to make this easier.
Implemented in oaNativeNS. |
|
This function returns a boolean value that indicates if the two specified vector names are equal in this name space. Since this function is both overloaded and virtual, derived name spaces need to implement all of the isEqual functions. A default implementation is provided to make this easier.
Implemented in oaNativeNS. |
|
This function returns a boolean value that indicates if the two specified scalar names are equal in this name space. Since this function is both overloaded and virtual, derived name spaces need to implement all of the isEqual functions. Note: This is a pure virtual function, defined but not implemented in oaNameSpace. Classes derived from oaNameSpace must define this function in order to be instantiated.
Implemented in oaNativeNS. |
|
This function returns a boolean value that indicates if the character specified is a bus character in the native name space. This function is for use by derived name spaces as a utility to help implement the functions that map to and from the native name space.
|
|
This function returns a boolean value that indicates if the character specified is the hex delimiter for the native name space. This function is for use by derived name spaces as a utility to help implement the functions that map to and from the native name space.
|
|
This function returns a boolean value that indicates if the character specified is 'normal' in the native name space. Normal characters are acceptable in names as is, and do not need hex encoding. Characters with special meaning, such as bus characters, are not normal characters. This function is for use by derived name spaces as a utility to help implement the functions that map to and from the native name space.
|
|
This utility function reads string values from the specified byte array. The loc value is moved past the value returned. This function can be used by derived name spaces in the 'get' function to interpret the byte array that is passed in to the derived name space.
|
|
This utility function reads integer values from the specified byte array. The loc value is moved past the value returned. This function can be used by derived name spaces in the 'get' function to interpret the byte array that is passed in to the derived name space.
|
|
This utility function is for writing characters to the string str at the specified index. The index is moved past the value written and the NULL terminator is appended. The string str is resized if necessary.
|
|
This utility function is for writing integers to the string str at the specified index. The index is moved past the value written and the NULL terminator is appended. The string str is resized if necessary.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.