Xrtti Namespace Reference


Classes

class  Context
class  Namespace
class  Structure
class  Base
class  Union
class  Struct
class  Class
class  Member
class  Field
class  Argument
class  DestructorSignature
class  ConstructorSignature
class  MethodSignature
class  Destructor
class  Constructor
class  Method
class  Type
class  ArrayOrPointer
class  Array
class  Pointer
class  Enumeration
class  EnumerationValue
class  TypeEnumeration
class  TypeFunction
class  TypeStructure
class  ContextSet

Typedefs

typedef uint32_t u32
typedef int32_t s32
typedef enum Xrtti::AccessType AccessType

Enumerations

enum  AccessType { AccessType_Public, AccessType_Protected, AccessType_Private }

Functions

bool Equals (const Context &c1, const Context &c2)
bool Equals (const Type &type1, const Type &type2)
u32 GetContextCount ()
const ContextGetContext (u32 index)
const ContextLookupContext (const char *pFullName)
const StructureLookupStructure (const std::type_info &typeinfo)
ContextSetCreateContextSet ()

Detailed Description

************************************************************************** Everything which follows is in the Xrtti C++ namespace.


Typedef Documentation

typedef uint32_t Xrtti::u32

************************************************************************** Short names for fixed-width integer types 32-bit unsigned integer

typedef int32_t Xrtti::s32

32-bit signed integer

************************************************************************** AccessType defines the access types of C++, which are used to define how code may access classes, structs, methods, fields, and enumerations


Enumeration Type Documentation

************************************************************************** AccessType defines the access types of C++, which are used to define how code may access classes, structs, methods, fields, and enumerations


Function Documentation

bool Xrtti::Equals ( const Context &  c1,
const Context &  c2 
)

************************************************************************** Utility helper functions The Context equality operator (operator ==) only tests fields of Context for equality; since Context is only a base class and the specific subclass of the instance has many more fields, a test of equality of a Context is not sufficient to demonstrate that the actual objects are equal. The Equals method tests the most specific subclass of the Context for equality, which means testing the entirety of the object. This is the correct method to use for testing equality between two arbitrary Contexts.

Parameters:
c1 is the first Context to test for equality (against c2)
c2 is the second Context to test for equality (against c1)
Returns:
true if the two Contexts are equals, meaning that they have equivalent meaning (there may be minor inconsequential differences between the Contexts, such as non-virtual methods being in different orders, that do not affect this equality test)

bool Xrtti::Equals ( const Type &  type1,
const Type &  type2 
)

The Type equality operator (operator ==) only tests fields of Type for equality; since Type is only a base class and the specific subclass of the instance has many more fields, a test of equality of a Type is not sufficient to demonstrate that the actual objects are equal. The Equals method tests the most specific subclass of the Type for equality, which means testing the entirety of the object. This is the correct method to use for testing equality between two arbitrary Types.

Parameters:
type1 is the first Type to test for equality (against c2)
type2 is the second Type to test for equality (against c1)
Returns:
true if the two Types are equals, meaning that they have equivalent meaning (there may be minor inconsequential differences between the Types, such as non-virtual methods being in different orders, that do not affect this equality test)

u32 Xrtti::GetContextCount (  ) 

************************************************************************** Xrtti API Returns the number of compiled Contexts - these are the Contexts defining classes compiled into the running application, or into any library linked into the currently running application.

Returns:
the number of compiled Contexts.

const Context* Xrtti::GetContext ( u32  index  ) 

Returns a compiled Context. The total number of available compiled contexts is available via a call to GetCompiledContextCount().

Parameters:
index is the index of the compiled Context to get; this value must be less than the number of Contexts returned by GetCompiledContextCount().
Returns:
the index'th compiled Context.

const Context* Xrtti::LookupContext ( const char *  pFullName  ) 

Looks up a compiled Context by full name, and returns it. Returns NULL if there is no such registered compiled Context.

Parameters:
pFullName is the full name (i.e. foo::bar::baz for C++, or just the struct/union name for C) of the compiled Context to look up and return
Returns:
the compiled Context with the given full name, or NULL if there is no such compiled Context

const Structure* Xrtti::LookupStructure ( const std::type_info &  typeinfo  ) 

Looks up a Structure by C++ RTTI type_info, and returns it. This only works if the Structure was generated by xrttigen with the -r option enabled. Returns NULL if there is no such registered Structure.

Parameters:
typeinfo is the C++ RTTI type_info to fetch the corresponding Structure for. Only works if xrttigen had the -r option specified.
Returns:
the Structure with the given type_info, or NULL if there is no such Structure

ContextSet* Xrtti::CreateContextSet (  ) 

Creates and returns a new ContextSet, which can then be used to parse header files and examine the resulting Xrtti Contexts and their associated objects.

Returns:
a new ContextSet, which can then be used to parse header files and examine the resulting Xrtti Contexts and their associated objects.


Generated on Sat Feb 14 22:48:49 2009 by  doxygen 1.5.7.1