|
| CTypeAddress (CTypeInfo *base) |
| Constructor. More...
|
|
| ~CTypeAddress () |
| Destructor. More...
|
|
| CTypeInfo (CTypeInfo *base, TypeId id) |
| Constructor. More...
|
|
| ~CTypeInfo () |
| Destructor. More...
|
|
bool | operator== (const CTypeInfo &type) const |
| Check if this type equals the given type. More...
|
|
bool | operator!= (const CTypeInfo &type) const |
| Check if this type not equals the given type. More...
|
|
bool | equals (const CTypeInfo &type, bool matchTemplateParams=false, bool noDependentFctParams=false) const |
| Check if this type equals the given type. More...
|
|
bool | equalsUnqualified (const CTypeInfo &type) const |
| Check if this type equals the given type if both types top-level qualifiers removed. More...
|
|
void | print (std::ostream &os) const |
| Print the textual representation of this type on the given stream. More...
|
|
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. More...
|
|
long int | Dimension () const |
| Get the dimension of an array type. More...
|
|
long int | Size () const |
| Get the size in bits of a type. More...
|
|
long int | Align () const |
| Get the alignment of a type. More...
|
|
TypeId | Id () const |
| Get the type identifier. More...
|
|
CTypeInfo * | BaseType () const |
| Get the base type of a compound type. More...
|
|
void | BaseType (CTypeInfo *base) |
| Set the base type of a compount type. More...
|
|
bool | isTypedef () const |
| Check if this is a typedef type. More...
|
|
CObjectInfo * | TypedefInfo () const |
| Get the typedef information if this is a typedef type. More...
|
|
CTypeInfo * | TypedefInfo (CObjectInfo *) |
| Set the typedef information if this is a typedef type. More...
|
|
bool | isComplete (unsigned long pos=0) const |
| Check if this is a complete type. More...
|
|
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. More...
|
|
bool | isLocal () const |
| Check if this is a local type. More...
|
|
bool | isConst () const |
| Check if this type is const qualified. More...
|
|
bool | isVolatile () const |
| Check if this type is volatile qualified. More...
|
|
bool | isRestrict () const |
| Check if this type is restrict qualified. More...
|
|
CRecord * | Record () const |
| Get the class or union of a class or union type. More...
|
|
CClassInfo * | ClassInfo () const |
| Get the class information if this is a class type. More...
|
|
CUnionInfo * | UnionInfo () const |
| Get the union information if this is a union type. More...
|
|
CEnumInfo * | EnumInfo () const |
| Get the enumeration information if this is an enumeration type. More...
|
|
CFunctionInfo * | FunctionInfo () const |
| Get the function information if this is a function type. More...
|
|
CTypeInfo * | PtrBaseType () const |
| Get the base type of a pointer type. More...
|
|
CTypeList * | ArgTypes () const |
| Get the argument type list of a function or qualified type. More...
|
|
CTypeInfo * | VirtualType () const |
| Get the virtual type of this type. More...
|
|
CTypeInfo * | UnqualType () const |
| Get the unqualified version of this type. More...
|
|
CTypeInfo * | NonReferenceType () const |
| Get the non-reference type version of this type. More...
|
|
CTypeFunction * | PtrToFct () const |
| Get the function type of a pointer-to-function type. More...
|
|
CTypeArray * | PtrToArray () const |
| Get the array type of a pointer-to-array type. More...
|
|
CTypeQualified * | TypeQualified () const |
| Get the pointer to CTypeQualified if this is a qualified type. More...
|
|
CTypeFunction * | TypeFunction () const |
| Get the pointer to CTypeFunction if this is a function type. More...
|
|
CTypeBitField * | TypeBitField () const |
| Get the pointer to CTypeBitField if this is a bit-field type. More...
|
|
CTypePointer * | TypePointer () const |
| Get the pointer to CTypePointer if this is a pointer type. More...
|
|
CTypeMemberPointer * | TypeMemberPointer () const |
| Get the pointer to CTypeMemberPointer if this is a member pointer type. More...
|
|
CTypeAddress * | TypeAddress () const |
| Get the pointer to CTypeAddress if this is a reference type. More...
|
|
CTypeArray * | TypeArray () const |
| Get the pointer to CTypeArray if this is an array type. More...
|
|
CTypeVarArray * | TypeVarArray () const |
| Get the pointer to CTypeVarArray if this is a variable length array type. More...
|
|
CTypeClass * | TypeClass () const |
| Get the pointer to CTypeClass if this is a class type. More...
|
|
CTypeUnion * | TypeUnion () const |
| Get the pointer to CTypeUnion if this is a union type. More...
|
|
CTypeRecord * | TypeRecord () const |
| Get the pointer to CTypeRecord if this is a class or union type. More...
|
|
CTypeEnum * | TypeEnum () const |
| Get the pointer to CTypeEnum if this is an enumeration type. More...
|
|
CTypePrimitive * | TypePrimitive () const |
| Get the pointer to CTypePrimitive if this is a primitive type. More...
|
|
CTypeInfo * | TypeEmpty () const |
| Get the pointer to CTypeInfo if this is type Puma::CTYPE_EMPTY. More...
|
|
CTypeTemplateParam * | TypeTemplateParam () const |
| Get the pointer to CTypeTemplateParam if this is a template parameter type. More...
|
|
bool | isQualified () const |
| Check if this is a qualified type. More...
|
|
bool | isPointer () const |
| Check if this is a pointer type. More...
|
|
bool | isPointerOrArray () const |
| Check if this is a pointer or array type. More...
|
|
bool | isAddress () const |
| Check if this is a reference type. More...
|
|
bool | isRecord () const |
| Check if this is a class or union type. More...
|
|
bool | isClass () const |
| Check if this is a class type. More...
|
|
bool | isUnion () const |
| Check if this is a union type. More...
|
|
bool | isClassOrUnion () const |
| Check if this is a class or union type. More...
|
|
bool | isArray () const |
| Check if this is an array type. More...
|
|
bool | isFixedArray () const |
| Check if this is a fixed length array type. More...
|
|
bool | isVarArray () const |
| Check if this is a variable length type. More...
|
|
bool | isArithmetic () const |
| Check if this is an arithmetic type. More...
|
|
bool | isScalar () const |
| Check if this is a pointer or arithmetic type. More...
|
|
bool | isAggregate () const |
| Check if this is an array, class, or union type. More...
|
|
bool | isInteger () const |
| Check if this is an integer type. More...
|
|
bool | isVoid () const |
| Check if this is type void. More...
|
|
bool | isEnum () const |
| Check if this is an enumeration type. More...
|
|
bool | isReal () const |
| Check if this is a floating point type. More...
|
|
bool | isMemberPointer () const |
| Check if this is a member pointer type. More...
|
|
bool | isUndefined () const |
| Check if this is an undefined type. More...
|
|
bool | isFunction () const |
| Check if this is a function type. More...
|
|
bool | isBitField () const |
| Check if this is a bit-field type. More...
|
|
bool | isMethod () const |
| Check if this is a class member function type. More...
|
|
bool | isStdFunction () const |
| Check if this is a non-class-member function type. More...
|
|
bool | isTemplate () const |
| Check if this is a template type. More...
|
|
bool | isTemplateInstance () const |
| Check if this is a template instance type. More...
|
|
bool | isTemplateParam () const |
| Check if this is a template parameter type. More...
|
|
bool | isTypeParam () const |
| Check if this is a type template parameter type. More...
|
|
bool | isNonTypeParam () const |
| Check if this is a non-type template parameter type. More...
|
|
bool | isObject (unsigned long pos=0) const |
| Check if this is an object type. More...
|
|
bool | isPOD () const |
| Check if this is a plain old data (POD) type. More...
|
|
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) More...
|
|
bool | is_bool () const |
| Check if the ID of this type is CTypeInfo::TYPE_BOOL or CTypeInfo::TYPE_C_BOOL. More...
|
|
bool | is_char () const |
| Check if the ID of this type is CTypeInfo::TYPE_CHAR. More...
|
|
bool | is_wchar_t () const |
| Check if the ID of this type is CTypeInfo::TYPE_WCHAR_T. More...
|
|
bool | is_short () const |
| Check if the ID of this type is CTypeInfo::TYPE_SHORT. More...
|
|
bool | is_int () const |
| Check if the ID of this type is CTypeInfo::TYPE_INT. More...
|
|
bool | is_long () const |
| Check if the ID of this type is CTypeInfo::TYPE_LONG. More...
|
|
bool | is_long_long () const |
| Check if the ID of this type is CTypeInfo::TYPE_LONG_LONG. More...
|
|
bool | is_int128 () const |
| Check if the ID of this type is CTypeInfo::TYPE_INT128. More...
|
|
bool | is_signed_char () const |
| Check if the ID of this type is CTypeInfo::TYPE_SIGNED_CHAR. More...
|
|
bool | is_unsigned_char () const |
| Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_CHAR. More...
|
|
bool | is_unsigned_short () const |
| Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_SHORT. More...
|
|
bool | is_unsigned_int () const |
| Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_INT. More...
|
|
bool | is_unsigned_long () const |
| Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_LONG. More...
|
|
bool | is_unsigned_long_long () const |
| Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_LONG_LONG. More...
|
|
bool | is_unsigned_int128 () const |
| Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_INT128. More...
|
|
bool | is_float () const |
| Check if the ID of this type is CTypeInfo::TYPE_FLOAT. More...
|
|
bool | is_double () const |
| Check if the ID of this type is CTypeInfo::TYPE_DOUBLE. More...
|
|
bool | is_long_double () const |
| Check if the ID of this type is CTypeInfo::TYPE_LONG_DOUBLE. More...
|
|
bool | is_void () const |
| Check if the ID of this type is CTypeInfo::TYPE_VOID. More...
|
|
bool | is_undefined () const |
| Check if the ID of this type is CTypeInfo::TYPE_UNDEFINED. More...
|
|
bool | is_unknown_t () const |
| Check if the ID of this type is CTypeInfo::TYPE_UNKNOWN_T. More...
|
|
bool | is_ellipsis () const |
| Check if the ID of this type is CTypeInfo::TYPE_ELLIPSIS. More...
|
|
bool | is_signed () const |
| Check if this is a signed integer type. More...
|
|
bool | is_unsigned () const |
| Check if this is an unsigned integer type. More...
|
|
unsigned | conv_rank () const |
| Get the arithmetic conversion rank of the type. More...
|
|
bool | operator> (const CTypeInfo &type) const |
| Check if the conversion rank of this type is greater than the conversion rank of the given type. More...
|
|
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. More...
|
|
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. More...
|
|
bool | operator< (const CTypeInfo &type) const |
| Check if the conversion rank of this type is less than the conversion rank of the given type. More...
|
|
unsigned | rank () const |
| Get the rank of this type if it is an arithmetic type. More...
|
|
bool | isTemplateInstanceArg () const |
| Check if this is the type of a template instance argument declaration. More...
|
|
CTypeInfo * | Duplicate () const |
| Maka a duplicate of this type. More...
|
|
void | Mangled (std::ostream &os) const |
| Print the mangled textual representation of the type on the given stream. More...
|
|
virtual | ~Printable () |
| Destructor. More...
|
|
virtual void | print (std::ostream &os) const =0 |
| Print object information on the given output stream. More...
|
|