Puma Reference Manual | Puma: Puma::CTypeInfo Class Reference |
#include <Puma/CTypeInfo.h>
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.
// check if type is a function type if (type.Id() == Puma::CTypeInfo::TYPE_FUNCTION) { ... } // same check if (type.TypeFunction()) { ... } // same check if (type.isFunction()) { ... }
Public Types | |
enum | TypeId { TYPE_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_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. | |
void | print (ostream &os) const |
Print the textual representation of this type on the given stream. | |
void | TypeText (ostream &os, const char *name=(const char *) 0, bool abs=false, bool tdef=false, bool elaborated_type_spec=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) const |
Check if this type or one of its base types depends on a template parameter. | |
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. | |
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 | 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 | is_bool () const |
Check if the ID of this type is CTypeInfo::TYPE_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_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_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. | |
CTypeInfo * | Duplicate () const |
Maka a duplicate of this type. | |
void | Mangled (ostream &os) const |
Print the mangled textual representation of the type on the given stream. | |
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.
TYPE_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_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 |
Bitfield type.
|
TYPE_TEMPLATE_PARAM |
Template parameter type.
|
TYPE_EMPTY |
No type.
|
Puma::CTypeInfo::CTypeInfo | ( | CTypeInfo * | base, | |
CTypeInfo::TypeId | id | |||
) | [inline] |
Constructor.
base | The base type of a compound type. | |
id | The type ID. |
Puma::CTypeInfo::~CTypeInfo | ( | ) | [inline] |
Destructor.
bool Puma::CTypeInfo::operator== | ( | const CTypeInfo & | type | ) | const |
Check if this type equals the given type.
type | The type to compare with. |
bool Puma::CTypeInfo::operator!= | ( | const CTypeInfo & | type | ) | const [inline] |
Check if this type not equals the given type.
type | The type to compare with. |
void Puma::CTypeInfo::print | ( | ostream & | os | ) | const [inline, virtual] |
Print the textual representation of this type on the given stream.
os | The output stream. |
Implements Puma::Printable.
void Puma::CTypeInfo::TypeText | ( | ostream & | os, | |
const char * | name = (const char*)0 , |
|||
bool | abs = false , |
|||
bool | tdef = false , |
|||
bool | elaborated_type_spec = false | |||
) | const [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. |
long int Puma::CTypeInfo::Dimension | ( | ) | const [inline] |
long int Puma::CTypeInfo::Size | ( | ) | const |
Get the size in bits of a type.
long int Puma::CTypeInfo::Align | ( | ) | const |
Get the alignment of a type.
CTypeInfo::TypeId Puma::CTypeInfo::Id | ( | ) | const [inline] |
Get the type identifier.
CTypeInfo * Puma::CTypeInfo::BaseType | ( | ) | const [inline] |
Get the base type of a compound type.
void Puma::CTypeInfo::BaseType | ( | CTypeInfo * | base | ) | [inline] |
Set the base type of a compount type.
base | The base type. |
bool Puma::CTypeInfo::isTypedef | ( | ) | const [inline] |
Check if this is a typedef type.
CObjectInfo * Puma::CTypeInfo::TypedefInfo | ( | ) | const [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.
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. |
Reimplemented in Puma::CTypeEnum, and Puma::CTypeRecord.
bool Puma::CTypeInfo::isDependent | ( | bool | consider_unknown_t = true |
) | const |
Check if this type or one of its base types depends on a template parameter.
consider_unknown_t | Consider unknown_t as dependent. |
bool Puma::CTypeInfo::isConst | ( | ) | const [inline] |
bool Puma::CTypeInfo::isVolatile | ( | ) | const [inline] |
bool Puma::CTypeInfo::isRestrict | ( | ) | const [inline] |
CRecord * Puma::CTypeInfo::Record | ( | ) | const [inline] |
Get the class or union of a class or union type.
Reimplemented in Puma::CTypeFunction, Puma::CTypeMemberPointer, and Puma::CTypeRecord.
CClassInfo* Puma::CTypeInfo::ClassInfo | ( | ) | const |
Get the class information if this is a class type.
Reimplemented in Puma::CTypeClass.
CUnionInfo* Puma::CTypeInfo::UnionInfo | ( | ) | const |
Get the union information if this is a union type.
Reimplemented in Puma::CTypeUnion.
CEnumInfo * Puma::CTypeInfo::EnumInfo | ( | ) | const [inline] |
Get the enumeration information if this is an enumeration type.
Reimplemented in Puma::CTypeEnum.
CFunctionInfo * Puma::CTypeInfo::FunctionInfo | ( | ) | const [inline] |
Get the function information if this is a function type.
Reimplemented in Puma::CTypeFunction.
CTypeInfo * Puma::CTypeInfo::PtrBaseType | ( | ) | const [inline] |
Get the base type of a pointer type.
CTypeList * Puma::CTypeInfo::ArgTypes | ( | ) | const [inline] |
CTypeInfo * Puma::CTypeInfo::VirtualType | ( | ) | const [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.
CTypeInfo * Puma::CTypeInfo::UnqualType | ( | ) | const [inline] |
Get the unqualified version of this type.
CTypeFunction* Puma::CTypeInfo::PtrToFct | ( | ) | const |
Get the function type of a pointer-to-function type.
CTypeArray* Puma::CTypeInfo::PtrToArray | ( | ) | const |
Get the array type of a pointer-to-array type.
CTypeQualified * Puma::CTypeInfo::TypeQualified | ( | ) | const [inline] |
CTypeFunction * Puma::CTypeInfo::TypeFunction | ( | ) | const [inline] |
CTypeBitField * Puma::CTypeInfo::TypeBitField | ( | ) | const [inline] |
CTypePointer * Puma::CTypeInfo::TypePointer | ( | ) | const [inline] |
CTypeMemberPointer * Puma::CTypeInfo::TypeMemberPointer | ( | ) | const [inline] |
Get the pointer to CTypeMemberPointer if this is a member pointer type.
CTypeAddress * Puma::CTypeInfo::TypeAddress | ( | ) | const [inline] |
CTypeArray * Puma::CTypeInfo::TypeArray | ( | ) | const [inline] |
CTypeVarArray * Puma::CTypeInfo::TypeVarArray | ( | ) | const [inline] |
Get the pointer to CTypeVarArray if this is a variable length array type.
CTypeClass * Puma::CTypeInfo::TypeClass | ( | ) | const [inline] |
CTypeUnion * Puma::CTypeInfo::TypeUnion | ( | ) | const [inline] |
CTypeRecord * Puma::CTypeInfo::TypeRecord | ( | ) | const [inline] |
CTypeEnum * Puma::CTypeInfo::TypeEnum | ( | ) | const [inline] |
CTypePrimitive * Puma::CTypeInfo::TypePrimitive | ( | ) | const [inline] |
CTypeInfo * Puma::CTypeInfo::TypeEmpty | ( | ) | const [inline] |
CTypeTemplateParam * Puma::CTypeInfo::TypeTemplateParam | ( | ) | const [inline] |
Get the pointer to CTypeTemplateParam if this is a template parameter type.
bool Puma::CTypeInfo::isQualified | ( | ) | const [inline] |
Check if this is a qualified type.
bool Puma::CTypeInfo::isPointer | ( | ) | const [inline] |
Check if this is a pointer type.
bool Puma::CTypeInfo::isPointerOrArray | ( | ) | const [inline] |
Check if this is a pointer or array type.
bool Puma::CTypeInfo::isAddress | ( | ) | const [inline] |
Check if this is a reference type.
bool Puma::CTypeInfo::isRecord | ( | ) | const [inline] |
Check if this is a class or union type.
bool Puma::CTypeInfo::isClass | ( | ) | const [inline] |
Check if this is a class type.
bool Puma::CTypeInfo::isUnion | ( | ) | const [inline] |
Check if this is a union type.
bool Puma::CTypeInfo::isArray | ( | ) | const [inline] |
Check if this is an array type.
bool Puma::CTypeInfo::isFixedArray | ( | ) | const [inline] |
Check if this is a fixed length array type.
bool Puma::CTypeInfo::isVarArray | ( | ) | const [inline] |
Check if this is a variable length type.
bool Puma::CTypeInfo::isArithmetic | ( | ) | const |
Check if this is an arithmetic type.
bool Puma::CTypeInfo::isScalar | ( | ) | const [inline] |
Check if this is a pointer or arithmetic type.
bool Puma::CTypeInfo::isAggregate | ( | ) | const [inline] |
Check if this is an array, class, or union type.
bool Puma::CTypeInfo::isInteger | ( | ) | const [inline] |
Check if this is an integer type.
bool Puma::CTypeInfo::isVoid | ( | ) | const [inline] |
Check if this is type void.
bool Puma::CTypeInfo::isEnum | ( | ) | const [inline] |
Check if this is an enumeration type.
bool Puma::CTypeInfo::isReal | ( | ) | const [inline] |
Check if this is a floating point type.
bool Puma::CTypeInfo::isMemberPointer | ( | ) | const [inline] |
Check if this is a member pointer type.
bool Puma::CTypeInfo::isUndefined | ( | ) | const [inline] |
Check if this is an undefined type.
bool Puma::CTypeInfo::isFunction | ( | ) | const [inline] |
Check if this is a function type.
bool Puma::CTypeInfo::isBitField | ( | ) | const [inline] |
Check if this is a bit-field type.
bool Puma::CTypeInfo::isMethod | ( | ) | const [inline] |
Check if this is a class member function type.
bool Puma::CTypeInfo::isStdFunction | ( | ) | const [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::isTemplateParam | ( | ) | const [inline] |
Check if this is a template parameter type.
bool Puma::CTypeInfo::isTypeParam | ( | ) | const [inline] |
Check if this is a type template parameter type.
bool Puma::CTypeInfo::isNonTypeParam | ( | ) | const [inline] |
Check if this is a non-type template parameter type.
bool Puma::CTypeInfo::isObject | ( | unsigned long | pos = 0 |
) | const [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::is_bool | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_BOOL.
bool Puma::CTypeInfo::is_char | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_CHAR.
bool Puma::CTypeInfo::is_wchar_t | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_WCHAR_T.
bool Puma::CTypeInfo::is_short | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_SHORT.
bool Puma::CTypeInfo::is_int | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_INT.
bool Puma::CTypeInfo::is_long | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_LONG.
bool Puma::CTypeInfo::is_long_long | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_LONG_LONG.
bool Puma::CTypeInfo::is_signed_char | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_SIGNED_CHAR.
bool Puma::CTypeInfo::is_unsigned_char | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_CHAR.
bool Puma::CTypeInfo::is_unsigned_short | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_SHORT.
bool Puma::CTypeInfo::is_unsigned_int | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_INT.
bool Puma::CTypeInfo::is_unsigned_long | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_LONG.
bool Puma::CTypeInfo::is_unsigned_long_long | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_UNSIGNED_LONG_LONG.
bool Puma::CTypeInfo::is_float | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_FLOAT.
bool Puma::CTypeInfo::is_double | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_DOUBLE.
bool Puma::CTypeInfo::is_long_double | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_LONG_DOUBLE.
bool Puma::CTypeInfo::is_void | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_VOID.
bool Puma::CTypeInfo::is_undefined | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_UNDEFINED.
bool Puma::CTypeInfo::is_unknown_t | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_UNKNOWN_T.
bool Puma::CTypeInfo::is_ellipsis | ( | ) | const [inline] |
Check if the ID of this type is CTypeInfo::TYPE_ELLIPSIS.
bool Puma::CTypeInfo::is_signed | ( | ) | const |
Check if this is a signed integer type.
bool Puma::CTypeInfo::is_unsigned | ( | ) | const |
Check if this is an unsigned integer type.
unsigned Puma::CTypeInfo::conv_rank | ( | ) | const |
Get the arithmetic conversion rank of the type.
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. |
bool Puma::CTypeInfo::operator>= | ( | const CTypeInfo & | type | ) | const [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. |
bool Puma::CTypeInfo::operator<= | ( | const CTypeInfo & | type | ) | const [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. |
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. |
unsigned Puma::CTypeInfo::rank | ( | ) | const |
Get the rank of this type if it is an arithmetic type.
Make a duplicate of the given type.
type | The type to duplicate. |
CTypeInfo * Puma::CTypeInfo::Duplicate | ( | ) | const [inline] |
Maka a duplicate of this type.
static void Puma::CTypeInfo::Destroy | ( | CTypeInfo * | type | ) | [static] |
Destroy the given type.
type | The type to destroy. |
void Puma::CTypeInfo::Mangled | ( | 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. |
CTypeInfo* Puma::CTypeInfo::CTYPE_SIZE_T [static] |
Internal representation of size_t.
CTypeInfo* Puma::CTypeInfo::CTYPE_PTRDIFF_T [static] |
Internal representation of ptrdiff_t.