Elm
2
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
|
#include <elm/rtti/Tuple.h>
Public Types | |
typedef A(T::* | acc_t) () const |
Public Types inherited from Type | |
typedef HashMap< string, const Type * >::Iter | TypeIter |
Public Member Functions | |
Tuple1 (cstring name, acc_t acc) | |
void | split (void *ptr, Vector< Variant > &values) const override |
void * | make (const Vector< Variant > &values, int i) const override |
Public Member Functions inherited from AbstractTuple< T > | |
AbstractTuple (cstring name) | |
void * | instantiate (void) const override |
void | free (void *obj) const override |
const Tuple * | toTuple () const override |
const Vector< const rtti::Type * > & | types () const override |
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 void * | upCast (void *ptr) const |
virtual void * | downCast (void *ptr) 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 |
Public Member Functions inherited from Tuple | |
virtual | ~Tuple () |
int | count () const |
Additional Inherited Members | |
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 |
Protected Member Functions inherited from AbstractTuple< T > | |
void | add (const rtti::Type *t) |
typedef A(T::* acc_t() const |
References AbstractTuple< T >::add().
Build a tuple objects from its components. The component order in values arrays must be the same as type as types returned by Tuple::types().
values | Values composing the tuple object. |
i | Index to start reading components from. |
Implements Tuple.
References elm::cerr, and elm::io::endl.
Decompose a tuple object in its component. The component order in values arrays must be the same as type as types returned by Tuple::types().
ptr | Object to decompose. |
values | Result variant vector made of components of the object. |
Implements Tuple.
References Vector< T, E, A >::add().