Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends
karto::MetaClass Class Reference

#include <MetaClass.h>

Inheritance diagram for karto::MetaClass:
Inheritance graph

List of all members.

Public Member Functions

template<typename T >
TCreate (const MetaArguments &rArgs=MetaArguments::Empty()) const
template<typename T >
void Destroy (const T *pObject) const
const MetaClassGetBase (kt_size_t index) const
kt_size_t GetBaseSize () const
const karto::StringGetName () const
kt_bool operator!= (const MetaClass &rOther) const
kt_bool operator== (const MetaClass &rOther) const

Static Public Member Functions

template<typename T >
static MetaClassHelper< TRegister (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


class MetaClassHelper
class MetaClassManager

Detailed Description

The MetaClass contains information about a C++ class with constructors, attributes, base classes

Definition at line 262 of file MetaClass.h.

Constructor & Destructor Documentation

karto::MetaClass::MetaClass ( const karto::String rName) [private]

Definition at line 99 of file MetaClass.cpp.

Definition at line 104 of file MetaClass.cpp.

Member Function Documentation

template<typename T >
T* karto::MetaClass::Create ( const MetaArguments &  rArgs = MetaArguments::Empty()) const [inline]

Creates a new instance of the C++ class described by the MetaClass

rArgsarguments for constructor
new instance of class described by meta class

Definition at line 304 of file MetaClass.h.

template<typename T >
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

indexBase class index
MetaClass at index
Exceptionif index is out of range

Definition at line 118 of file MetaClass.cpp.

Gets the number of base classes

number of base classes

Definition at line 113 of file MetaClass.cpp.

Gets the name of the MetaClass

name of MetaClass

Definition at line 108 of file MetaClass.cpp.

bool karto::MetaClass::operator!= ( const MetaClass rOther) const

Inequality operator checks inequality between two MetaClasses

true if unequal, false otherwise

Definition at line 134 of file MetaClass.cpp.

bool karto::MetaClass::operator== ( const MetaClass rOther) const

Equality operator checks equality between two MetaClasses.

true if equal, false otherwise

Definition at line 129 of file MetaClass.cpp.

template<typename T >
static MetaClassHelper<T> karto::MetaClass::Register ( const karto::String rName) [inline, static]

Registers a new MetaClass by name.

rNameName of new MetaClass
helper class for creating MetaClass

Definition at line 271 of file MetaClass.h.

Friends And Related Function Documentation

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.

Member Data Documentation

Definition at line 359 of file MetaClass.h.

List<const MetaConstructor*> karto::MetaClass::m_Constructors [private]

Definition at line 361 of file MetaClass.h.

Definition at line 358 of file MetaClass.h.

The documentation for this class was generated from the following files:

Author(s): Sebastian Kasperski
autogenerated on Sun Apr 2 2017 03:53:09