|  | PUMA Library Reference Manual
    | 
#include <Puma/CTypeInfo.h>
 Inheritance diagram for Puma::CTypeInfo:
 Inheritance diagram for Puma::CTypeInfo:Type information for an entity (class, function, object, etc).
There are two kinds of types: fundamental types like 'int', and compound types like 'class X {int i;}'. Types describe objects, references, or functions.
A type is identified by its ID.
| Public Types | |
| enum | TypeId { TYPE_BOOL , TYPE_C_BOOL , TYPE_SIGNED_CHAR , TYPE_UNSIGNED_CHAR , TYPE_CHAR , TYPE_UNSIGNED_SHORT , TYPE_SHORT , TYPE_UNSIGNED_INT , TYPE_WCHAR_T , TYPE_INT , TYPE_UNSIGNED_LONG , TYPE_LONG , TYPE_UNSIGNED_LONG_LONG , TYPE_LONG_LONG , TYPE_UNSIGNED_INT128 , TYPE_INT128 , TYPE_FLOAT , TYPE_DOUBLE , TYPE_LONG_DOUBLE , TYPE_VOID , TYPE_UNDEFINED , TYPE_UNKNOWN_T , TYPE_ELLIPSIS , TYPE_CLASS , TYPE_UNION , TYPE_ENUM , TYPE_POINTER , TYPE_ADDRESS , TYPE_MEMBER_POINTER , TYPE_FUNCTION , TYPE_ARRAY , TYPE_VAR_ARRAY , TYPE_QUALIFIED , TYPE_BIT_FIELD , TYPE_TEMPLATE_PARAM , TYPE_EMPTY } | 
| Type identifiers.  More... | |
| Public Member Functions | |
| CTypeInfo (CTypeInfo *base, TypeId id) | |
| Constructor. | |
| ~CTypeInfo () | |
| Destructor. | |
| bool | operator== (const CTypeInfo &type) const | 
| Check if this type equals the given type. | |
| bool | operator!= (const CTypeInfo &type) const | 
| Check if this type not equals the given type. | |
| bool | equals (const CTypeInfo &type, bool matchTemplateParams=false, bool noDependentFctParams=false) const | 
| Check if this type equals the given type. | |
| bool | equalsUnqualified (const CTypeInfo &type) const | 
| Check if this type equals the given type if both types top-level qualifiers removed. | |
| void | print (std::ostream &os) const | 
| Print the textual representation of this type on the given stream. | |
| void | TypeText (std::ostream &os, const char *name=(const char *) 0, bool abs=false, bool tdef=false, bool elaborated_type_spec=false, bool unnamed=false) const | 
| Print the textual representation of this type on the given stream. | |
| long int | Dimension () const | 
| Get the dimension of an array type. | |
| long int | Size () const | 
| Get the size in bits of a type. | |
| long int | Align () const | 
| Get the alignment of a type. | |
| TypeId | Id () const | 
| Get the type identifier. | |
| CTypeInfo * | BaseType () const | 
| Get the base type of a compound type. | |
| void | BaseType (CTypeInfo *base) | 
| Set the base type of a compount type. | |
| bool | isTypedef () const | 
| Check if this is a typedef type. | |
| CObjectInfo * | TypedefInfo () const | 
| Get the typedef information if this is a typedef type. | |
| CTypeInfo * | TypedefInfo (CObjectInfo *) | 
| Set the typedef information if this is a typedef type. | |
| bool | isComplete (unsigned long pos=0) const | 
| Check if this is a complete type. | |
| bool | isDependent (bool consider_unknown_t=true, bool is_named_type=false) const | 
| Check if this type or one of its base types depends on a template parameter. | |
| bool | isLocal () const | 
| Check if this is a local type. | |
| bool | isConst () const | 
| Check if this type is const qualified. | |
| bool | isVolatile () const | 
| Check if this type is volatile qualified. | |
| bool | isRestrict () const | 
| Check if this type is restrict qualified. | |
| CRecord * | Record () const | 
| Get the class or union of a class or union type. | |
| CClassInfo * | ClassInfo () const | 
| Get the class information if this is a class type. | |
| CUnionInfo * | UnionInfo () const | 
| Get the union information if this is a union type. | |
| CEnumInfo * | EnumInfo () const | 
| Get the enumeration information if this is an enumeration type. | |
| CFunctionInfo * | FunctionInfo () const | 
| Get the function information if this is a function type. | |
| CTypeInfo * | PtrBaseType () const | 
| Get the base type of a pointer type. | |
| CTypeList * | ArgTypes () const | 
| Get the argument type list of a function or qualified type. | |
| CTypeInfo * | VirtualType () const | 
| Get the virtual type of this type. | |
| CTypeInfo * | UnqualType () const | 
| Get the unqualified version of this type. | |
| CTypeInfo * | NonReferenceType () const | 
| Get the non-reference type version of this type. | |
| CTypeFunction * | PtrToFct () const | 
| Get the function type of a pointer-to-function type. | |
| CTypeArray * | PtrToArray () const | 
| Get the array type of a pointer-to-array type. | |
| CTypeQualified * | TypeQualified () const | 
| Get the pointer to CTypeQualified if this is a qualified type. | |
| CTypeFunction * | TypeFunction () const | 
| Get the pointer to CTypeFunction if this is a function type. | |
| CTypeBitField * | TypeBitField () const | 
| Get the pointer to CTypeBitField if this is a bit-field type. | |
| CTypePointer * | TypePointer () const | 
| Get the pointer to CTypePointer if this is a pointer type. | |
| CTypeMemberPointer * | TypeMemberPointer () const | 
| Get the pointer to CTypeMemberPointer if this is a member pointer type. | |
| CTypeAddress * | TypeAddress () const | 
| Get the pointer to CTypeAddress if this is a reference type. | |
| CTypeArray * | TypeArray () const | 
| Get the pointer to CTypeArray if this is an array type. | |
| CTypeVarArray * | TypeVarArray () const | 
| Get the pointer to CTypeVarArray if this is a variable length array type. | |
| CTypeClass * | TypeClass () const | 
| Get the pointer to CTypeClass if this is a class type. | |
| CTypeUnion * | TypeUnion () const | 
| Get the pointer to CTypeUnion if this is a union type. | |
| CTypeRecord * | TypeRecord () const | 
| Get the pointer to CTypeRecord if this is a class or union type. | |
| CTypeEnum * | TypeEnum () const | 
| Get the pointer to CTypeEnum if this is an enumeration type. | |
| CTypePrimitive * | TypePrimitive () const | 
| Get the pointer to CTypePrimitive if this is a primitive type. | |
| CTypeInfo * | TypeEmpty () const | 
| Get the pointer to CTypeInfo if this is type Puma::CTYPE_EMPTY. | |
| CTypeTemplateParam * | TypeTemplateParam () const | 
| Get the pointer to CTypeTemplateParam if this is a template parameter type. | |
| bool | isQualified () const | 
| Check if this is a qualified type. | |
| bool | isPointer () const | 
| Check if this is a pointer type. | |
| bool | isPointerOrArray () const | 
| Check if this is a pointer or array type. | |
| bool | isAddress () const | 
| Check if this is a reference type. | |
| bool | isRecord () const | 
| Check if this is a class or union type. | |
| bool | isClass () const | 
| Check if this is a class type. | |
| bool | isUnion () const | 
| Check if this is a union type. | |
| bool | isClassOrUnion () const | 
| Check if this is a class or union type. | |
| bool | isArray () const | 
| Check if this is an array type. | |
| bool | isFixedArray () const | 
| Check if this is a fixed length array type. | |
| bool | isVarArray () const | 
| Check if this is a variable length type. | |
| bool | isArithmetic () const | 
| Check if this is an arithmetic type. | |
| bool | isScalar () const | 
| Check if this is a pointer or arithmetic type. | |
| bool | isAggregate () const | 
| Check if this is an array, class, or union type. | |
| bool | isInteger () const | 
| Check if this is an integer type. | |
| bool | isVoid () const | 
| Check if this is type void. | |
| bool | isEnum () const | 
| Check if this is an enumeration type. | |
| bool | isReal () const | 
| Check if this is a floating point type. | |
| bool | isMemberPointer () const | 
| Check if this is a member pointer type. | |
| bool | isUndefined () const | 
| Check if this is an undefined type. | |
| bool | isFunction () const | 
| Check if this is a function type. | |
| bool | isBitField () const | 
| Check if this is a bit-field type. | |
| bool | isMethod () const | 
| Check if this is a class member function type. | |
| bool | isStdFunction () const | 
| Check if this is a non-class-member function type. | |
| bool | isTemplate () const | 
| Check if this is a template type. | |
| bool | isTemplateInstance () const | 
| Check if this is a template instance type. | |
| bool | isTemplateParam () const | 
| Check if this is a template parameter type. | |
| bool | isTypeParam () const | 
| Check if this is a type template parameter type. | |
| bool | isNonTypeParam () const | 
| Check if this is a non-type template parameter type. | |
| bool | isObject (unsigned long pos=0) const | 
| Check if this is an object type. | |
| bool | isPOD () const | 
| Check if this is a plain old data (POD) type. | |
| bool | isTrivial () const | 
| Check if this is a trivial type: (1) a scalar type (2) a trivial class type (3) an array of (1), (2), or (3) | |
| bool | is_bool () const | 
| Check if the ID of this type is CTypeInfo::TYPE_BOOL or CTypeInfo::TYPE_C_BOOL. | |
| bool | is_char () const | 
| Check if the ID of this type is CTypeInfo::TYPE_CHAR. | |
| bool | is_wchar_t () const | 
| Check if the ID of this type is CTypeInfo::TYPE_WCHAR_T. | |
| bool | is_short () const | 
| Check if the ID of this type is CTypeInfo::TYPE_SHORT. | |
| bool | is_int () const | 
| Check if the ID of this type is CTypeInfo::TYPE_INT. | |
| bool | is_long () const | 
| Check if the ID of this type is CTypeInfo::TYPE_LONG. | |
| bool | is_long_long () const | 
| Check if the ID of this type is CTypeInfo::TYPE_LONG_LONG. | |
| bool | is_int128 () const | 
| Check if the ID of this type is CTypeInfo::TYPE_INT128. | |
| bool | is_signed_char () const | 
| Check if the ID of this type is CTypeInfo::TYPE_SIGNED_CHAR. | |
| bool | is_unsigned_char () const | 
| Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_CHAR. | |
| bool | is_unsigned_short () const | 
| Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_SHORT. | |
| bool | is_unsigned_int () const | 
| Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_INT. | |
| bool | is_unsigned_long () const | 
| Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_LONG. | |
| bool | is_unsigned_long_long () const | 
| Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_LONG_LONG. | |
| bool | is_unsigned_int128 () const | 
| Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_INT128. | |
| bool | is_float () const | 
| Check if the ID of this type is CTypeInfo::TYPE_FLOAT. | |
| bool | is_double () const | 
| Check if the ID of this type is CTypeInfo::TYPE_DOUBLE. | |
| bool | is_long_double () const | 
| Check if the ID of this type is CTypeInfo::TYPE_LONG_DOUBLE. | |
| bool | is_void () const | 
| Check if the ID of this type is CTypeInfo::TYPE_VOID. | |
| bool | is_undefined () const | 
| Check if the ID of this type is CTypeInfo::TYPE_UNDEFINED. | |
| bool | is_unknown_t () const | 
| Check if the ID of this type is CTypeInfo::TYPE_UNKNOWN_T. | |
| bool | is_ellipsis () const | 
| Check if the ID of this type is CTypeInfo::TYPE_ELLIPSIS. | |
| bool | is_signed () const | 
| Check if this is a signed integer type. | |
| bool | is_unsigned () const | 
| Check if this is an unsigned integer type. | |
| unsigned | conv_rank () const | 
| Get the arithmetic conversion rank of the type. | |
| bool | operator> (const CTypeInfo &type) const | 
| Check if the conversion rank of this type is greater than the conversion rank of the given type. | |
| bool | operator>= (const CTypeInfo &type) const | 
| Check if the conversion rank of this type equals or is greater than the conversion rank of the given type. | |
| bool | operator<= (const CTypeInfo &type) const | 
| Check if the conversion rank of this type equals or is greater than the conversion rank of the given type. | |
| bool | operator< (const CTypeInfo &type) const | 
| Check if the conversion rank of this type is less than the conversion rank of the given type. | |
| unsigned | rank () const | 
| Get the rank of this type if it is an arithmetic type. | |
| bool | isTemplateInstanceArg () const | 
| Check if this is the type of a template instance argument declaration. | |
| CTypeInfo * | Duplicate () const | 
| Maka a duplicate of this type. | |
| void | Mangled (std::ostream &os) const | 
| Print the mangled textual representation of the type on the given stream. | |
|  Public Member Functions inherited from Puma::Printable | |
| virtual | ~Printable () | 
| Destructor. | |
| Static Public Member Functions | |
| static CTypeInfo * | Duplicate (const CTypeInfo *type) | 
| Make a duplicate of the given type. | |
| static void | Destroy (CTypeInfo *type) | 
| Destroy the given type. | |
| Static Public Attributes | |
| static CTypeInfo * | CTYPE_SIZE_T | 
| Internal representation of size_t. | |
| static CTypeInfo * | CTYPE_PTRDIFF_T | 
| Internal representation of ptrdiff_t. | |
Type identifiers.
| Enumerator | |
|---|---|
| TYPE_BOOL | bool | 
| TYPE_C_BOOL | _Bool | 
| TYPE_SIGNED_CHAR | signed char | 
| TYPE_UNSIGNED_CHAR | unsiged char | 
| TYPE_CHAR | char | 
| TYPE_UNSIGNED_SHORT | unsigned short | 
| TYPE_SHORT | short | 
| TYPE_UNSIGNED_INT | unsigned int | 
| TYPE_WCHAR_T | wchar_t | 
| TYPE_INT | int | 
| TYPE_UNSIGNED_LONG | unsigned long | 
| TYPE_LONG | long | 
| TYPE_UNSIGNED_LONG_LONG | unsigned long long | 
| TYPE_LONG_LONG | long long | 
| TYPE_UNSIGNED_INT128 | unsigned __int128 | 
| TYPE_INT128 | __int128 | 
| TYPE_FLOAT | float | 
| TYPE_DOUBLE | double | 
| TYPE_LONG_DOUBLE | long double | 
| TYPE_VOID | void | 
| TYPE_UNDEFINED | Undefined type. | 
| TYPE_UNKNOWN_T | unknown_t | 
| TYPE_ELLIPSIS | Any type. | 
| TYPE_CLASS | Class type. | 
| TYPE_UNION | Union type. | 
| TYPE_ENUM | Enumeration type. | 
| TYPE_POINTER | Pointer type. | 
| TYPE_ADDRESS | Reference type. | 
| TYPE_MEMBER_POINTER | Member pointer type. | 
| TYPE_FUNCTION | Function type. | 
| TYPE_ARRAY | Array type. | 
| TYPE_VAR_ARRAY | Variable length array type. | 
| TYPE_QUALIFIED | Qualified type. | 
| TYPE_BIT_FIELD | Bit field type. | 
| TYPE_TEMPLATE_PARAM | Template parameter type. | 
| TYPE_EMPTY | No type. | 
| 
 | inline | 
Constructor.
| base | The base type of a compound type. | 
| id | The type ID. | 
| 
 | inline | 
Destructor.
| long int Puma::CTypeInfo::Align | ( | ) | const | 
Get the alignment of a type.
| 
 | inline | 
Get the argument type list of a function or qualified type.
| 
 | inline | 
Get the base type of a compound type.
| 
 | inline | 
Set the base type of a compount type.
| base | The base type. | 
| CClassInfo * Puma::CTypeInfo::ClassInfo | ( | ) | const | 
Get the class information if this is a class type.
| unsigned Puma::CTypeInfo::conv_rank | ( | ) | const | 
Get the arithmetic conversion rank of the type.
| 
 | static | 
Destroy the given type.
| type | The type to destroy. | 
| 
 | inline | 
Get the dimension of an array type.
| 
 | inline | 
Maka a duplicate of this type.
Make a duplicate of the given type.
| type | The type to duplicate. | 
| 
 | inline | 
Get the enumeration information if this is an enumeration type.
| bool Puma::CTypeInfo::equals | ( | const CTypeInfo & | type, | 
| bool | matchTemplateParams = false, | ||
| bool | noDependentFctParams = false ) const | 
Check if this type equals the given type.
| type | The type to compare with. | 
| matchTemplateParams | True if template parameters are matched. | 
| noDependentFctParams | True if dependent function params do not match. | 
| bool Puma::CTypeInfo::equalsUnqualified | ( | const CTypeInfo & | type | ) | const | 
Check if this type equals the given type if both types top-level qualifiers removed.
| type | The type to compare with. | 
| 
 | inline | 
Get the function information if this is a function type.
| 
 | inline | 
Get the type identifier.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_BOOL or CTypeInfo::TYPE_C_BOOL.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_CHAR.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_DOUBLE.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_ELLIPSIS.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_FLOAT.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_INT.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_INT128.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_LONG.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_LONG_DOUBLE.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_LONG_LONG.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_SHORT.
| bool Puma::CTypeInfo::is_signed | ( | ) | const | 
Check if this is a signed integer type.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_SIGNED_CHAR.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_UNDEFINED.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_UNKNOWN_T.
| bool Puma::CTypeInfo::is_unsigned | ( | ) | const | 
Check if this is an unsigned integer type.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_CHAR.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_INT.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_INT128.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_LONG.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_LONG_LONG.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_SHORT.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_VOID.
| 
 | inline | 
Check if the ID of this type is CTypeInfo::TYPE_WCHAR_T.
| 
 | inline | 
Check if this is a reference type.
| 
 | inline | 
Check if this is an array, class, or union type.
| bool Puma::CTypeInfo::isArithmetic | ( | ) | const | 
Check if this is an arithmetic type.
| 
 | inline | 
Check if this is an array type.
| 
 | inline | 
Check if this is a bit-field type.
| 
 | inline | 
Check if this is a class type.
| 
 | inline | 
Check if this is a class or union type.
| bool Puma::CTypeInfo::isComplete | ( | unsigned long | pos = 0 | ) | const | 
Check if this is a complete type.
Optionally limited to a specific source code position. A type is complete if it is not undefined, not void, not an fixed length array without dimension, and not a class or enumeration that is only declared but not defined.
| pos | Optional source code position. | 
| 
 | inline | 
Check if this type is const qualified.
| bool Puma::CTypeInfo::isDependent | ( | bool | consider_unknown_t = true, | 
| bool | is_named_type = false ) const | 
Check if this type or one of its base types depends on a template parameter.
| consider_unknown_t | Consider unknown_t as dependent. | 
| is_named_type | Type of named type. | 
| 
 | inline | 
Check if this is an enumeration type.
| 
 | inline | 
Check if this is a fixed length array type.
| 
 | inline | 
Check if this is a function type.
| 
 | inline | 
Check if this is an integer type.
| bool Puma::CTypeInfo::isLocal | ( | ) | const | 
Check if this is a local type.
A type is local if it was declared in a local scope.
| 
 | inline | 
Check if this is a member pointer type.
| 
 | inline | 
Check if this is a class member function type.
| 
 | inline | 
Check if this is a non-type template parameter type.
| 
 | inline | 
Check if this is an object type.
An object type is a complete non-function type.
| pos | Optional source code position. | 
| bool Puma::CTypeInfo::isPOD | ( | ) | const | 
Check if this is a plain old data (POD) type.
| 
 | inline | 
Check if this is a pointer type.
| 
 | inline | 
Check if this is a pointer or array type.
| 
 | inline | 
Check if this is a qualified type.
| 
 | inline | 
Check if this is a floating point type.
| 
 | inline | 
Check if this is a class or union type.
| 
 | inline | 
Check if this type is restrict qualified.
| 
 | inline | 
Check if this is a pointer or arithmetic type.
| 
 | inline | 
Check if this is a non-class-member function type.
| bool Puma::CTypeInfo::isTemplate | ( | ) | const | 
Check if this is a template type.
| bool Puma::CTypeInfo::isTemplateInstance | ( | ) | const | 
Check if this is a template instance type.
| bool Puma::CTypeInfo::isTemplateInstanceArg | ( | ) | const | 
Check if this is the type of a template instance argument declaration.
These declarations are generated and have to be handled special.
| 
 | inline | 
Check if this is a template parameter type.
| bool Puma::CTypeInfo::isTrivial | ( | ) | const | 
Check if this is a trivial type: (1) a scalar type (2) a trivial class type (3) an array of (1), (2), or (3)
| 
 | inline | 
Check if this is a typedef type.
| 
 | inline | 
Check if this is a type template parameter type.
| 
 | inline | 
Check if this is an undefined type.
| 
 | inline | 
Check if this is a union type.
| 
 | inline | 
Check if this is a variable length type.
| 
 | inline | 
Check if this is type void.
| 
 | inline | 
Check if this type is volatile qualified.
| void Puma::CTypeInfo::Mangled | ( | std::ostream & | os | ) | const | 
Print the mangled textual representation of the type on the given stream.
According to the C++ V3 ABI mangling (see http://www.codesourcery.com/cxx-abi/abi.html).
| os | The output stream. | 
| 
 | inline | 
Get the non-reference type version of this type.
| 
 | inline | 
Check if this type not equals the given type.
| type | The type to compare with. | 
| bool Puma::CTypeInfo::operator< | ( | const CTypeInfo & | type | ) | const | 
Check if the conversion rank of this type is less than the conversion rank of the given type.
| type | The type to compare with. | 
| 
 | inline | 
Check if the conversion rank of this type equals or is greater than the conversion rank of the given type.
| type | The type to compare with. | 
| 
 | inline | 
Check if this type equals the given type.
| type | The type to compare with. | 
| bool Puma::CTypeInfo::operator> | ( | const CTypeInfo & | type | ) | const | 
Check if the conversion rank of this type is greater than the conversion rank of the given type.
| type | The type to compare with. | 
| 
 | inline | 
Check if the conversion rank of this type equals or is greater than the conversion rank of the given type.
| type | The type to compare with. | 
| 
 | inlinevirtual | 
Print the textual representation of this type on the given stream.
| os | The output stream. | 
Implements Puma::Printable.
| 
 | inline | 
Get the base type of a pointer type.
| CTypeArray * Puma::CTypeInfo::PtrToArray | ( | ) | const | 
Get the array type of a pointer-to-array type.
| CTypeFunction * Puma::CTypeInfo::PtrToFct | ( | ) | const | 
Get the function type of a pointer-to-function type.
| unsigned Puma::CTypeInfo::rank | ( | ) | const | 
Get the rank of this type if it is an arithmetic type.
| 
 | inline | 
Get the class or union of a class or union type.
| long int Puma::CTypeInfo::Size | ( | ) | const | 
Get the size in bits of a type.
| 
 | inline | 
Get the pointer to CTypeAddress if this is a reference type.
| 
 | inline | 
Get the pointer to CTypeArray if this is an array type.
| 
 | inline | 
Get the pointer to CTypeBitField if this is a bit-field type.
| 
 | inline | 
Get the pointer to CTypeClass if this is a class type.
| 
 | inline | 
Get the typedef information if this is a typedef type.
| CTypeInfo * Puma::CTypeInfo::TypedefInfo | ( | CObjectInfo * | ) | 
Set the typedef information if this is a typedef type.
| 
 | inline | 
Get the pointer to CTypeInfo if this is type Puma::CTYPE_EMPTY.
| 
 | inline | 
Get the pointer to CTypeEnum if this is an enumeration type.
| 
 | inline | 
Get the pointer to CTypeFunction if this is a function type.
| 
 | inline | 
Get the pointer to CTypeMemberPointer if this is a member pointer type.
| 
 | inline | 
Get the pointer to CTypePointer if this is a pointer type.
| 
 | inline | 
Get the pointer to CTypePrimitive if this is a primitive type.
| 
 | inline | 
Get the pointer to CTypeQualified if this is a qualified type.
| 
 | inline | 
Get the pointer to CTypeRecord if this is a class or union type.
| 
 | inline | 
Get the pointer to CTypeTemplateParam if this is a template parameter type.
| 
 | inline | 
Print the textual representation of this type on the given stream.
| os | The output stream. | 
| name | Optional name of the entity to print. | 
| abs | Print qualified names with root qualifier. | 
| tdef | Print the name of a typedef instead of the underlying type. | 
| elaborated_type_spec | Print elaborated type specifier before class, union, and enumeration types. | 
| unnamed | Print unnamed namespaces as '<unnamed>' | 
| 
 | inline | 
Get the pointer to CTypeUnion if this is a union type.
| 
 | inline | 
Get the pointer to CTypeVarArray if this is a variable length array type.
| CUnionInfo * Puma::CTypeInfo::UnionInfo | ( | ) | const | 
Get the union information if this is a union type.
| 
 | inline | 
Get the unqualified version of this type.
| 
 | inline | 
Get the virtual type of this type.
If this type is a qualified, bit-field, or reference type then the virtual type is the virtual type of the base type of this type.
| 
 | static | 
Internal representation of ptrdiff_t.
| 
 | static | 
Internal representation of size_t.