#include <Xrtti.h>
Inheritance diagram for Xrtti::Type:
Public Types | |
enum | BaseType { BaseType_Void = 0, BaseType_Bool = 1, BaseType_Char = 2, BaseType_Unsigned_Char = 3, BaseType_WChar = 4, BaseType_Short = 5, BaseType_Unsigned_Short = 6, BaseType_Int = 7, BaseType_Unsigned_Int = 8, BaseType_Long = 9, BaseType_Unsigned_Long = 10, BaseType_Long_Long = 11, BaseType_Unsigned_Long_Long = 12, BaseType_Float = 13, BaseType_Double = 14, BaseType_Long_Double = 15, BaseType_Bitfield = 16, BaseType_Enumeration = 17, BaseType_Function = 18, BaseType_Structure = 19 } |
Public Member Functions | |
BaseType | GetBaseType () const |
bool | IsConst () const |
bool | IsVolatile () const |
bool | IsReference () const |
U32 | GetBitfieldBitCount () const |
U32 | GetPointerCount () const |
const Pointer & | GetPointer (U32 depth) const |
U32 | GetArrayCount () const |
const Array & | GetArray (U32 dimension) const |
Friends | |
class | TypeEnumeration |
class | TypeFunction |
class | TypeStructure |
const * volatile * int[5][];
... would have two Pointers (the first one volatile, the second const), and two Arrays (the first one with element count 5, the second with element count unbounded).
|
********************************************************************** These are the C++ types which may be represented by a Type object. If the Type of this Type is BaseType_Enumeration, then this Type is actually a TypeEnumeration object. If the Type of this Type is BaseType_Function, then this Type is actually a TypeFunction object. If the Type of this Type is BaseType_Structure, then this Type is actually a TypeStructure object. Otherwise, the Type object is not subclassed. |
|
Returns the C++ type of this Type.
|
|
If this returns true, then the C++ type represented by this Type is const. If this returns false, then it is not.
|
|
If this returns true, then the C++ type represented by this Type is volatile. If this returns false, then it is not.
|
|
If this returns true, then the C++ type represented by this Type is a C++ reference. If this returns false, then it is not.
|
|
If the type is Type_Bitfield, then this will return the number of bits in the bitfield.
|
|
Returns the pointer "depth" of this Type, which is the number of times that this type must be dereferenced to get to a value of the basic C++ type of this Type.
|
|
Returns a description of the dereference characteristics of the given pointer depth for this Type.
|
|
Returns the number of array dimensions of this Type.
|
|
Returns a description of the number of elements of the given array dimension of this Type.
|