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
CTypeInfo * BaseType () const
void BaseType (CTypeInfo *)
bool isTypedef () const
CObjectInfo * TypedefInfo () const
CTypeInfo * TypedefInfo (CObjectInfo *)
bool isComplete (unsigned long=0) const
bool isConst () const
bool isVolatile () const
bool isRestrict () const
bool isDependent (bool=true) const
CRecord * Record () const
CClassInfo * ClassInfo () const
CUnionInfo * UnionInfo () const
CEnumInfo * EnumInfo () const
CFunctionInfo * FunctionInfo () const
CTypeInfo * PtrBaseType () const
CTypeList * ArgTypes () const
CTypeInfo * VirtualType () const
CTypeInfo * UnqualType () const
CTypeFunction * PtrToFct () const
CTypeArray * PtrToArray () const
CTypeQualified * TypeQualified () const
CTypeFunction * TypeFunction () const
CTypeBitField * TypeBitField () const
CTypePointer * TypePointer () const
CTypeMemberPointer * TypeMemberPointer () const
CTypeAddress * TypeAddress () const
CTypeArray * TypeArray () const
CTypeVarArray * TypeVarArray () const
CTypeClass * TypeClass () const
CTypeUnion * TypeUnion () const
CTypeRecord * TypeRecord () const
CTypeEnum * TypeEnum () const
CTypePrimitive * TypePrimitive () const
CTypeInfo * TypeEmpty () const
CTypeTemplateParam * TypeTemplateParam () 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
CTypeInfo * Duplicate () const
void Mangled (ostream &) const

Static Public Member Functions

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

Static Public Attributes

static CTypeInfo * CTYPE_SIZE_T
static CTypeInfo * CTYPE_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