The Nebula Device 3: Core::Rtti Class Reference

The Nebula Device 3

Core::Rtti Class Reference

#include <rtti.h>


Detailed Description

Nebula3's runtime type information for one class. Every class derived from Core::RefCounted should use the macros __DeclareClass and __ImplementClass to properly initialize the runtime type information for the class. This will also automatically register the class with the Core::Factory object to implement object construction from class name string or fourcc code.

(C) 2006 RadonLabs GmbH

Public Types

typedef RefCounted *(*) Creator ()
 define a creation callback function prototype

Public Member Functions

 Rtti (const char *className, Util::FourCC fcc, Creator creatorFunc, const Core::Rtti *parentClass, SizeT instSize)
 constructor
 Rtti (const char *className, Creator creatorFunc, const Core::Rtti *parentClass, SizeT instSize)
 legacy constructor without FourCC for Mangalore compatibility
bool operator== (const Rtti &rhs) const
 equality operator
bool operator!= (const Rtti &rhs) const
 inequality operator
const Util::StringGetName () const
 get class name
Util::FourCC GetFourCC () const
 get four character code of class
const Core::RttiGetParent () const
 get pointer to parent class
SizeT GetInstanceSize () const
 get instance size in bytes
RefCountedCreate () const
 create an object of this class
bool IsDerivedFrom (const Rtti &other) const
 return true if this rtti is equal or derived from to other rtti
bool IsDerivedFrom (const Util::String &otherClassName) const
 return true if this rtti is equal or derived from to other rtti, by string
bool IsDerivedFrom (const Util::FourCC &otherClassFourCC) const
 return true if this rtti is equal or derived from to other rtti, by fourcc
void * AllocInstanceMemory ()
 allocate instance memory block (called by class new operator)
void FreeInstanceMemory (void *ptr)
 free instance memory block (called by class delete operator)