Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
karto::MetaClass Class Reference

#include <MetaClass.h>

Inheritance diagram for karto::MetaClass:
Inheritance graph
[legend]

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
 
- Public Member Functions inherited from karto::MetaAttribute
const AnyGetAttribute (const karto::String &rId) const
 
kt_bool HasAttribute (const karto::String &rId) const
 
virtual ~MetaAttribute ()
 
- Public Member Functions inherited from karto::Referenced
 Referenced ()
 

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

template<typename T >
class MetaClassHelper
 
class MetaClassManager
 

Additional Inherited Members

- Protected Member Functions inherited from karto::MetaAttribute
void AddAttribute (const karto::String &rId, const Any &rValue) const
 
 MetaAttribute ()
 
- Protected Member Functions inherited from karto::Referenced
kt_int32s GetReferenceCount ()
 
kt_int32s Reference () const
 
kt_int32s Unreference () const
 
kt_int32s UnreferenceNoDelete () const
 

Detailed Description

////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////

template <typename t>=""> class MetaClassHelper;

////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////

class MetaConstructor;

/** 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.

karto::MetaClass::~MetaClass ( )
private

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.

kt_size_t karto::MetaClass::GetBaseSize ( ) const

Gets the number of base classes

Returns
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

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)
inlinestatic

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

template<typename T >
friend class MetaClassHelper
friend

Definition at line 355 of file MetaClass.h.

friend class MetaClassManager
friend

Definition at line 356 of file MetaClass.h.

Member Data Documentation

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.


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


nav2d_karto
Author(s): Sebastian Kasperski
autogenerated on Tue Nov 7 2017 06:02:36