#include <MetaClass.h>
Public Member Functions | |
template<typename T > | |
T * | Create (const MetaArguments &rArgs=MetaArguments::Empty()) const |
template<typename T > | |
void | Destroy (const T *pObject) const |
const MetaClass & | GetBase (kt_size_t index) const |
kt_size_t | GetBaseSize () const |
const karto::String & | GetName () const |
kt_bool | operator!= (const MetaClass &rOther) const |
kt_bool | operator== (const MetaClass &rOther) const |
Static Public Member Functions | |
template<typename T > | |
static MetaClassHelper< T > | Register (const karto::String &rName) |
Private Member Functions | |
MetaClass (const karto::String &rName) | |
~MetaClass () | |
Private Attributes | |
List< const MetaClass * > | m_BaseClasses |
List< const MetaConstructor * > | m_Constructors |
karto::String | m_Name |
Friends | |
class | MetaClassHelper |
class | MetaClassManager |
The MetaClass contains information about a C++ class with constructors, attributes, base classes
Definition at line 262 of file MetaClass.h.
karto::MetaClass::MetaClass | ( | const karto::String & | rName | ) | [private] |
Definition at line 99 of file MetaClass.cpp.
karto::MetaClass::~MetaClass | ( | ) | [private] |
Definition at line 104 of file MetaClass.cpp.
T* karto::MetaClass::Create | ( | const MetaArguments & | rArgs = MetaArguments::Empty() | ) | const [inline] |
Creates a new instance of the C++ class described by the MetaClass
rArgs | arguments for constructor |
Definition at line 304 of file MetaClass.h.
void karto::MetaClass::Destroy | ( | const T * | pObject | ) | const [inline] |
Destroys an instance of the C++ class described by the MetaClass
Definition at line 330 of file MetaClass.h.
const MetaClass & karto::MetaClass::GetBase | ( | kt_size_t | index | ) | const |
Gets the base MetaClass at index
index | Base class index |
Exception | if index is out of range |
Definition at line 118 of file MetaClass.cpp.
kt_size_t karto::MetaClass::GetBaseSize | ( | ) | const |
Gets the number of base classes
Definition at line 113 of file MetaClass.cpp.
const karto::String & karto::MetaClass::GetName | ( | ) | const |
Gets the name of the MetaClass
Definition at line 108 of file MetaClass.cpp.
bool karto::MetaClass::operator!= | ( | const MetaClass & | rOther | ) | const |
Inequality operator checks inequality between two MetaClasses
rOther |
Definition at line 134 of file MetaClass.cpp.
bool karto::MetaClass::operator== | ( | const MetaClass & | rOther | ) | const |
Equality operator checks equality between two MetaClasses.
rOther |
Definition at line 129 of file MetaClass.cpp.
static MetaClassHelper<T> karto::MetaClass::Register | ( | const karto::String & | rName | ) | [inline, static] |
Registers a new MetaClass by name.
rName | Name of new MetaClass |
Definition at line 271 of file MetaClass.h.
friend class MetaClassHelper [friend] |
Reimplemented from karto::MetaAttribute.
Definition at line 355 of file MetaClass.h.
friend class MetaClassManager [friend] |
Definition at line 356 of file MetaClass.h.
List<const MetaClass*> karto::MetaClass::m_BaseClasses [private] |
Definition at line 359 of file MetaClass.h.
List<const MetaConstructor*> karto::MetaClass::m_Constructors [private] |
Definition at line 361 of file MetaClass.h.
karto::String karto::MetaClass::m_Name [private] |
Definition at line 358 of file MetaClass.h.