Elm
2
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
|
#include <elm/rtti/Class.h>
Public Member Functions | |
Class (CString name, const AbstractClass &base=type_of< B >().asClass()) | |
Class (const make &m) | |
void * | instantiate (void) const override |
void | free (void *obj) const override |
void * | upCast (void *ptr) const override |
void * | downCast (void *ptr) const override |
void * | upCast (void *ptr, const AbstractClass &cls) const |
void * | downCast (void *ptr, const AbstractClass &cls) const |
const void * | upCast (const void *ptr) const |
const void * | downCast (const void *ptr) const |
const void * | upCast (const void *ptr, const AbstractClass &cls) const |
const void * | downCast (const void *ptr, const AbstractClass &cls) const |
Public Member Functions inherited from AbstractClass | |
AbstractClass (CString name, const AbstractClass &base) | |
AbstractClass (const make &m) | |
AbstractClass (const make &m, const AbstractClass &base) | |
const AbstractClass & | base (void) const |
bool | baseOf (const AbstractClass *clazz) |
virtual bool | isClass (void) const |
virtual const AbstractClass & | asClass (void) const |
virtual const Tuple * | toTuple () const |
void * | upCast (void *ptr, const AbstractClass &cls) const |
void * | downCast (void *ptr, const AbstractClass &cls) const |
const void * | upCast (const void *ptr) const |
const void * | downCast (const void *ptr) const |
const void * | upCast (const void *ptr, const AbstractClass &cls) const |
const void * | downCast (const void *ptr, const AbstractClass &cls) const |
const List< Operation * > & | operations (void) const |
const List< const Type * > | params (void) const |
Public Member Functions inherited from Type | |
Type (string name="") | |
virtual | ~Type (void) |
string | name (void) const |
const PointerType & | pointer (void) const |
virtual bool | canCast (const Type *t) const |
virtual bool | isVoid (void) const |
virtual bool | isBool (void) const |
virtual bool | isInt (void) const |
virtual bool | isFloat (void) const |
virtual bool | isPtr (void) const |
virtual const PointerType & | asPtr (void) const |
virtual bool | isEnum (void) const |
virtual const Enumerable & | asEnum (void) const |
virtual bool | isSerial (void) const |
virtual const Serializable & | asSerial (void) const |
virtual const TemplateType * | asTemplate (void) const |
virtual const InstanceType * | asInstance (void) const |
virtual const ParamType * | asParam (void) const |
void | initialize (void) |
bool | operator== (const Type &t) const |
bool | operator!= (const Type &t) const |
Additional Inherited Members | |
Public Types inherited from Type | |
typedef HashMap< string, const Type * >::Iter | TypeIter |
Static Public Member Functions inherited from Type | |
static const Type * | get (string name) |
static TypeIter | types (void) |
Static Public Attributes inherited from Type | |
static const Type & | param0 |
static const Type & | param1 |
static const Type & | param2 |
static const Type & | param3 |
Type for top-level Object class.
Type building for a class.
T | C++ type of the class this descriptor is used for. |
|
inline |
References AbstractClass::downCast().
|
inline |
References AbstractClass::downCast().
Cast a pointer from the base type to the current type. Default implementation is the identity.
ptr | Pointer to the base type. |
Reimplemented from AbstractClass.
|
inline |
References AbstractClass::downCast().
Free an object corresponding to the current class.
obj | Object to free. |
Implements AbstractClass.
Call this function to get a new allocated fresh object of the corresponding class. This function must be overridden to perform the actual allocation and the class must support constructor without any argument.
Implements AbstractClass.
References elm::_.
References AbstractClass::upCast().
|
inline |
References AbstractClass::upCast().
Cast a pointer from the current to the base type of this type. Default implementation is the identity.
ptr | Pointer to the current type. |
Reimplemented from AbstractClass.
|
inline |
References AbstractClass::upCast().