|
Public Types |
enum | Id {
ID_VOID = 0,
ID_BOOL,
ID_CHAR,
ID_UCHAR,
ID_SHORT,
ID_USHORT,
ID_INT,
ID_UINT,
ID_LONG,
ID_ULONG,
ID_FLOAT,
ID_DOUBLE,
ID_FUNDAMENTAL_END,
ID_PTR = ID_FUNDAMENTAL_END,
ID_ARRAY,
ID_CLASS,
ID_FUNCTION
} |
Public Member Functions |
| Type (Id id, const::mpu::String &name, std::size_t size, std::size_t alignment, std::size_t elementNum, const std::type_info *typeId, void(*create)(const Type *, void *), void(*cCreate)(const Type *, void *, const void *), void(*destroy)(const Type *, void *), void(*assign)(const Type *, void *, const void *), void *(*newObj)(const Type *), void *(*newCopy)(const Type *, const void *), void(*delObj)(const Type *, void *)) |
virtual | ~Type (void) |
Id | getId (void) const |
const std::type_info * | getTypeId (void) |
const mpu::String & | getName (void) const |
std::size_t | getSize (void) const |
std::size_t | getAlignment (void) const |
void | create (void *addr) const |
void | create (void *addr, const void *obj) const |
void | destroy (void *obj) const |
void | assign (void *dst, const void *src) const |
void * | newObj (void) const |
void * | newObj (const void *obj) const |
void | delObj (void *obj) const |
virtual void | avStartCall (av_alist &avList, void *fnPtr, void *retVal) const=0 |
virtual void | avPutArg (av_alist &avList, void *arg) const=0 |
std::size_t | getElmNo (void) const |
virtual const Type & | getElmType (std::size_t idx) const=0 |
virtual void * | getElmAddr (void *obj, std::size_t idx) const=0 |
const void * | getElmAddr (const void *obj, std::size_t idx) const |
virtual unsigned long | hash (void) const=0 |
virtual bool | operator== (const Type &type) const=0 |
bool | operator!= (const Type &type) const |
AspectValue & | aspectData (Aspect::Id id) |
const AspectValue & | aspectData (Aspect::Id id) const |
Static Protected Member Functions |
void | updateHash (unsigned long &h, unsigned long id) |
Protected Attributes |
std::size_t | elmNo_ |
mpu::String | name_ |
void(* | create_ )(const Type *, void *) |
void(* | cCreate_ )(const Type *, void *, const void *) |
void(* | destroy_ )(const Type *, void *) |
void(* | assign_ )(const Type *, void *, const void *) |
void *(* | newObj_ )(const Type *) |
void *(* | newCopy_ )(const Type *, const void *) |
void(* | delObj_ )(const Type *, void *) |
rfl::Type::Type |
( |
Id |
id, |
|
|
const ::mpu::String & |
name, |
|
|
std::size_t |
size, |
|
|
std::size_t |
alignment, |
|
|
std::size_t |
elementNum, |
|
|
const std::type_info * |
typeId, |
|
|
void(* |
create)(const Type *, void *), |
|
|
void(* |
cCreate)(const Type *, void *, const void *), |
|
|
void(* |
destroy)(const Type *, void *), |
|
|
void(* |
assign)(const Type *, void *, const void *), |
|
|
void *(* |
newObj)(const Type *), |
|
|
void *(* |
newCopy)(const Type *, const void *), |
|
|
void(* |
delObj)(const Type *, void *) |
|
) |
[inline] |
|