Puma::CTypeInfo Class Reference

#include <CTypeInfo.h>

Inheritance diagram for Puma::CTypeInfo:

Inheritance graph

List of all members.

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
}

Public Member Functions

 CTypeInfo (CTypeInfo *, TypeId)
 ~CTypeInfo ()
bool operator== (const CTypeInfo &) const
bool operator!= (const CTypeInfo &) const
void print (ostream &os) const
void TypeText (ostream &, const char *name=(const char *) 0, bool abs=false, bool tdef=false, bool elaborated_type_spec=false) const
long int Dimension () const
long int Size () const
long int Align () const
TypeId Id () const
CTypeInfoBaseType () const
void BaseType (CTypeInfo *)
bool isTypedef () const
CObjectInfoTypedefInfo () const
CTypeInfoTypedefInfo (CObjectInfo *)
bool isComplete (unsigned long=0) const
bool isConst () const
bool isVolatile () const
bool isRestrict () const
bool isDependent (bool=true) const
CRecordRecord () const
CClassInfoClassInfo () const
CUnionInfoUnionInfo () const
CEnumInfoEnumInfo () const
CFunctionInfoFunctionInfo () const
CTypeInfoPtrBaseType () const
CTypeListArgTypes () const
CTypeInfoVirtualType () const
CTypeInfoUnqualType () const
CTypeFunctionPtrToFct () const
CTypeArrayPtrToArray () const
CTypeQualifiedTypeQualified () const
CTypeFunctionTypeFunction () const
CTypeBitFieldTypeBitField () const
CTypePointerTypePointer () const
CTypeMemberPointerTypeMemberPointer () const
CTypeAddressTypeAddress () const
CTypeArrayTypeArray () const
CTypeVarArrayTypeVarArray () const
CTypeClassTypeClass () const
CTypeUnionTypeUnion () const
CTypeRecordTypeRecord () const
CTypeEnumTypeEnum () const
CTypePrimitiveTypePrimitive () const
CTypeInfoTypeEmpty () const
CTypeTemplateParamTypeTemplateParam () const
bool isQualified () const
bool isPointer () const
bool isPointerOrArray () const
bool isAddress () const
bool isRecord () const
bool isClass () const
bool isUnion () const
bool isArray () const
bool isFixedArray () const
bool isVarArray () const
bool isArithmetic () const
bool isScalar () const
bool isAggregate () const
bool isInteger () const
bool isVoid () const
bool isEnum () const
bool isReal () const
bool isMemberPointer () const
bool isUndefined () const
bool isFunction () const
bool isBitField () const
bool isMethod () const
bool isStdFunction () const
bool isTemplate () const
bool isTemplateInstance () const
bool isTemplateParam () const
bool isTypeParam () const
bool isNonTypeParam () const
bool isObject (unsigned long=0) const
bool is_bool () const
bool is_char () const
bool is_wchar_t () const
bool is_short () const
bool is_int () const
bool is_long () const
bool is_long_long () const
bool is_signed_char () const
bool is_unsigned_char () const
bool is_unsigned_short () const
bool is_unsigned_int () const
bool is_unsigned_long () const
bool is_unsigned_long_long () const
bool is_float () const
bool is_double () const
bool is_long_double () const
bool is_void () const
bool is_undefined () const
bool is_unknown_t () const
bool is_ellipsis () const
bool is_signed () const
bool is_unsigned () const
unsigned conv_rank () const
bool operator> (const CTypeInfo &) const
bool operator>= (const CTypeInfo &) const
bool operator<= (const CTypeInfo &) const
bool operator< (const CTypeInfo &) const
unsigned rank () const
CTypeInfoDuplicate () const
void Mangled (ostream &) const

Static Public Member Functions

static CTypeInfoDuplicate (const CTypeInfo *)
static void Destroy (CTypeInfo *)

Static Public Attributes

static CTypeInfoCTYPE_SIZE_T
static CTypeInfoCTYPE_PTRDIFF_T


Member Enumeration Documentation

Enumerator:
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 


Constructor & Destructor Documentation

Puma::CTypeInfo::CTypeInfo ( CTypeInfo info,
CTypeInfo::TypeId  id 
) [inline]

Puma::CTypeInfo::~CTypeInfo (  )  [inline]


Member Function Documentation

bool Puma::CTypeInfo::operator== ( const CTypeInfo  )  const

bool Puma::CTypeInfo::operator!= ( const CTypeInfo type  )  const [inline]

void Puma::CTypeInfo::print ( ostream &  os  )  const [inline, virtual]

Implements Puma::Printable.

void Puma::CTypeInfo::TypeText ( ostream &  out,
const char *  name = (const char*)0,
bool  abs = false,
bool  tdef = false,
bool  elaborated_type_spec = false 
) const [inline]

long int Puma::CTypeInfo::Dimension (  )  const [inline]

Reimplemented in Puma::CTypeArray, and Puma::CTypeBitField.

long int Puma::CTypeInfo::Size (  )  const

long int Puma::CTypeInfo::Align (  )  const

CTypeInfo::TypeId Puma::CTypeInfo::Id (  )  const [inline]

CTypeInfo * Puma::CTypeInfo::BaseType (  )  const [inline]

void Puma::CTypeInfo::BaseType ( CTypeInfo type  )  [inline]

bool Puma::CTypeInfo::isTypedef (  )  const [inline]

CObjectInfo * Puma::CTypeInfo::TypedefInfo (  )  const [inline]

CTypeInfo* Puma::CTypeInfo::TypedefInfo ( CObjectInfo  ) 

bool Puma::CTypeInfo::isComplete ( unsigned  long = 0  )  const

Reimplemented in Puma::CTypeEnum, and Puma::CTypeRecord.

bool Puma::CTypeInfo::isConst (  )  const [inline]

Reimplemented in Puma::CTypeQualified.

bool Puma::CTypeInfo::isVolatile (  )  const [inline]

Reimplemented in Puma::CTypeQualified.

bool Puma::CTypeInfo::isRestrict (  )  const [inline]

Reimplemented in Puma::CTypeQualified.

bool Puma::CTypeInfo::isDependent ( bool  = true  )  const

CRecord * Puma::CTypeInfo::Record (  )  const [inline]

CClassInfo* Puma::CTypeInfo::ClassInfo (  )  const

Reimplemented in Puma::CTypeClass.

CUnionInfo* Puma::CTypeInfo::UnionInfo (  )  const

Reimplemented in Puma::CTypeUnion.

CEnumInfo * Puma::CTypeInfo::EnumInfo (  )  const [inline]

Reimplemented in Puma::CTypeEnum.

CFunctionInfo * Puma::CTypeInfo::FunctionInfo (  )  const [inline]

Reimplemented in Puma::CTypeFunction.

CTypeInfo * Puma::CTypeInfo::PtrBaseType (  )  const [inline]

CTypeList * Puma::CTypeInfo::ArgTypes (  )  const [inline]

Reimplemented in Puma::CTypeFunction.

CTypeInfo * Puma::CTypeInfo::VirtualType (  )  const [inline]

CTypeInfo * Puma::CTypeInfo::UnqualType (  )  const [inline]

CTypeFunction* Puma::CTypeInfo::PtrToFct (  )  const

CTypeArray* Puma::CTypeInfo::PtrToArray (  )  const

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]

CTypeAddress * Puma::CTypeInfo::TypeAddress (  )  const [inline]

CTypeArray * Puma::CTypeInfo::TypeArray (  )  const [inline]

CTypeVarArray * Puma::CTypeInfo::TypeVarArray (  )  const [inline]

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]

bool Puma::CTypeInfo::isQualified (  )  const [inline]

bool Puma::CTypeInfo::isPointer (  )  const [inline]

bool Puma::CTypeInfo::isPointerOrArray (  )  const [inline]

bool Puma::CTypeInfo::isAddress (  )  const [inline]

bool Puma::CTypeInfo::isRecord (  )  const [inline]

bool Puma::CTypeInfo::isClass (  )  const [inline]

bool Puma::CTypeInfo::isUnion (  )  const [inline]

bool Puma::CTypeInfo::isArray (  )  const [inline]

bool Puma::CTypeInfo::isFixedArray (  )  const [inline]

bool Puma::CTypeInfo::isVarArray (  )  const [inline]

bool Puma::CTypeInfo::isArithmetic (  )  const

bool Puma::CTypeInfo::isScalar (  )  const [inline]

bool Puma::CTypeInfo::isAggregate (  )  const [inline]

bool Puma::CTypeInfo::isInteger (  )  const [inline]

bool Puma::CTypeInfo::isVoid (  )  const [inline]

bool Puma::CTypeInfo::isEnum (  )  const [inline]

bool Puma::CTypeInfo::isReal (  )  const [inline]

bool Puma::CTypeInfo::isMemberPointer (  )  const [inline]

bool Puma::CTypeInfo::isUndefined (  )  const [inline]

bool Puma::CTypeInfo::isFunction (  )  const [inline]

bool Puma::CTypeInfo::isBitField (  )  const [inline]

bool Puma::CTypeInfo::isMethod (  )  const [inline]

bool Puma::CTypeInfo::isStdFunction (  )  const [inline]

bool Puma::CTypeInfo::isTemplate (  )  const

bool Puma::CTypeInfo::isTemplateInstance (  )  const

bool Puma::CTypeInfo::isTemplateParam (  )  const [inline]

bool Puma::CTypeInfo::isTypeParam (  )  const [inline]

bool Puma::CTypeInfo::isNonTypeParam (  )  const [inline]

bool Puma::CTypeInfo::isObject ( unsigned long  pos = 0  )  const [inline]

bool Puma::CTypeInfo::is_bool (  )  const [inline]

bool Puma::CTypeInfo::is_char (  )  const [inline]

bool Puma::CTypeInfo::is_wchar_t (  )  const [inline]

bool Puma::CTypeInfo::is_short (  )  const [inline]

bool Puma::CTypeInfo::is_int (  )  const [inline]

bool Puma::CTypeInfo::is_long (  )  const [inline]

bool Puma::CTypeInfo::is_long_long (  )  const [inline]

bool Puma::CTypeInfo::is_signed_char (  )  const [inline]

bool Puma::CTypeInfo::is_unsigned_char (  )  const [inline]

bool Puma::CTypeInfo::is_unsigned_short (  )  const [inline]

bool Puma::CTypeInfo::is_unsigned_int (  )  const [inline]

bool Puma::CTypeInfo::is_unsigned_long (  )  const [inline]

bool Puma::CTypeInfo::is_unsigned_long_long (  )  const [inline]

bool Puma::CTypeInfo::is_float (  )  const [inline]

bool Puma::CTypeInfo::is_double (  )  const [inline]

bool Puma::CTypeInfo::is_long_double (  )  const [inline]

bool Puma::CTypeInfo::is_void (  )  const [inline]

bool Puma::CTypeInfo::is_undefined (  )  const [inline]

bool Puma::CTypeInfo::is_unknown_t (  )  const [inline]

bool Puma::CTypeInfo::is_ellipsis (  )  const [inline]

bool Puma::CTypeInfo::is_signed (  )  const

bool Puma::CTypeInfo::is_unsigned (  )  const

unsigned Puma::CTypeInfo::conv_rank (  )  const

bool Puma::CTypeInfo::operator> ( const CTypeInfo  )  const

bool Puma::CTypeInfo::operator>= ( const CTypeInfo type  )  const [inline]

bool Puma::CTypeInfo::operator<= ( const CTypeInfo type  )  const [inline]

bool Puma::CTypeInfo::operator< ( const CTypeInfo  )  const

unsigned Puma::CTypeInfo::rank (  )  const

static CTypeInfo* Puma::CTypeInfo::Duplicate ( const CTypeInfo  )  [static]

CTypeInfo * Puma::CTypeInfo::Duplicate (  )  const [inline]

static void Puma::CTypeInfo::Destroy ( CTypeInfo  )  [static]

void Puma::CTypeInfo::Mangled ( ostream &   )  const


Member Data Documentation


Generated on Sat May 10 03:03:51 2008 for Puma by  doxygen 1.5.5