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
[legend]

List of all members.

Public Member Functions

template<typename T >
T * Create (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< 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

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

Parameters:
rArgsarguments for constructor
Returns:
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

Parameters:
indexBase class index
Returns:
MetaClass at index
Exceptions:
Exceptionif index is out of range

Definition at line 118 of file MetaClass.cpp.

Gets the number of base classes

Returns:
number of base classes

Definition at line 113 of file MetaClass.cpp.

Gets the name of the MetaClass

Returns:
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

Parameters:
rOther
Returns:
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.

Parameters:
rOther
Returns:
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.

Parameters:
rNameName of new MetaClass
Returns:
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:


nav2d_karto
Author(s): Sebastian Kasperski
autogenerated on Thu Aug 27 2015 14:07:26