Classes | |
union | Value |
class | Context |
class | Incomplete |
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 | Pointer |
class | Array |
class | Enumeration |
class | EnumerationValue |
class | TypeEnumeration |
class | TypeFunction |
class | TypeStructure |
Typedefs | |
typedef XRTTI_U32_ARCH | U32 |
typedef XRTTI_S32_ARCH | S32 |
typedef Generated | Generated |
typedef enum Xrtti::AccessType | AccessType |
typedef Xrtti::Value | Value |
Enumerations | |
enum | AccessType { AccessType_Public, AccessType_Protected, AccessType_Private } |
Functions | |
void | Register (const Generated *pGenerated) |
U32 | GetContextCount () |
const Context * | GetContext (U32 index) |
const Context * | LookupContext (const char *pFullName) |
const Structure * | LookupStructure (const std::type_info &typeinfo) |
const Struct * | LookupStruct (const void *pObjectWithVirtualMethod) |
void | ShutDown () |
|
************************************************************************** Fundamental Types -- these are specific to this build of Xrtti 32-bit unsigned integer |
|
32-bit signed integer |
|
Generated class, opaque type |
|
************************************************************************** AccessType defines the access types of C++, which are used to define how code may access classes, structs, methods, fields, and enumerations |
|
************************************************************************** Instances of the Value union are passed in as return values (to hold returned values) and as arguments (to hold input arguments) to methods invoked using the Invoke method of the Method class. This union consists of all possible argument types. |
|
************************************************************************** AccessType defines the access types of C++, which are used to define how code may access classes, structs, methods, fields, and enumerations |
|
Registers a set of objects generated by the xrttigen program. This may be called multiple times with the output of multiple runs of xrttigen to build up a complete set of registered Xrtti objects. Running xrttigen against your program's header files, and then registering the resulting Generated object with this method, is the means by which the xrtti system gets information about your classes. For each class registered in this way, you can find the class in the list of Contexts using GetContext(), or look it up by full name, using LookupContext().
|
|
Returns the number of registered Contexts.
|
|
Returns a Context. The total number of available contexts is available via a call to GetContextCount().
|
|
Looks up a Context by full name, and returns it. Returns NULL if there is no such registered Context.
|
|
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.
|
|
Looks up a Struct given a pointer to a polymorphic object (i.e. one with at least one virtual method). This function uses C++ rtti and so the -r option to xrttigen must have been used, and additionally C++ RTTI must be enabled. pObjectWithVirtualMethod MUST be a polymorphic - it MUST have at least one virtual method - or this function will likely crash your program. Unfortunately, in C++ there is no way to test if a generic pointer pointesr to an object with a vtable, which would be the only way to avoid this. Returns NULL if there is no such registered Struct.
|
|
This may be called to shut down the Xrtti system. It will destroy all Xrtti objects created during the registration process. After this function is called, no more Xrtti structures will be present and the Xrtti system should not be used. The purpose of this function is primarily to assist in debugging, where the termination of the program with the Xrtti objects still allocated may look like a memory leak. Calling this function is not at all necessary - the objects don't need to be destroyed before the program exits. |