#include <Reflex/Builder/UnionBuilder.h>
Public Member Functions | |
| UnionBuilderImpl (const char *nam, size_t size, const std::type_info &ti, unsigned int modifiers=0, TYPE typ=UNION) | |
| virtual | ~UnionBuilderImpl () |
| void | AddItem (const char *nam, const Type &typ) |
| void | AddDataMember (const char *nam, const Type &typ, size_t offs, unsigned int modifiers=0) |
| void | AddFunctionMember (const char *nam, const Type &typ, StubFunction stubFP, void *stubCtx=0, const char *params=0, unsigned int modifiers=0) |
| void | AddProperty (const char *key, Any value) |
| void | AddProperty (const char *key, const char *value) |
| void | SetSizeOf (size_t size) |
| Type | ToType () |
Protected Member Functions | |
| void | EnableCallback (const bool enable=true) |
Private Attributes | |
| Union * | fUnion |
| Member | fLastMember |
| bool | fCallbackEnabled |
Friends | |
| class | UnionBuilder |
Definition at line 30 of file UnionBuilder.h.
| Reflex::UnionBuilderImpl::UnionBuilderImpl | ( | const char * | nam, | |
| size_t | size, | |||
| const std::type_info & | ti, | |||
| unsigned int | modifiers = 0, |
|||
| TYPE | typ = UNION | |||
| ) |
constructor
| virtual Reflex::UnionBuilderImpl::~UnionBuilderImpl | ( | ) | [virtual] |
destructor
| void Reflex::UnionBuilderImpl::AddItem | ( | const char * | nam, | |
| const Type & | typ | |||
| ) |
AddItem will add one union item
| Name | the Name of the union item | |
| At | the At of the union item |
Referenced by Reflex::UnionBuilder::AddItem().
| void Reflex::UnionBuilderImpl::AddDataMember | ( | const char * | nam, | |
| const Type & | typ, | |||
| size_t | offs, | |||
| unsigned int | modifiers = 0 | |||
| ) |
AddDataMember will add the information about one data MemberAt of the union
| Name | of the data MemberAt | |
| At | of the data MemberAt | |
| Offset | of the data MemberAt | |
| modifiers | the modifiers of the data MemberAt |
Referenced by Reflex::UnionBuilder::AddDataMember().
| void Reflex::UnionBuilderImpl::AddFunctionMember | ( | const char * | nam, | |
| const Type & | typ, | |||
| StubFunction | stubFP, | |||
| void * | stubCtx = 0, |
|||
| const char * | params = 0, |
|||
| unsigned int | modifiers = 0 | |||
| ) |
AddFunctionMember will add the information about one function MemberAt of the union
| Name | of the function MemberAt | |
| At | of the function MemberAt | |
| stubFP | Stub function pointer for the function | |
| stubCxt | Stub user context for the stub function | |
| params | parameter names and default values (semi-colon separated) | |
| modifiers | the modifiers of the function MemberAt |
Referenced by Reflex::UnionBuilder::AddFunctionMember().
| void Reflex::UnionBuilderImpl::AddProperty | ( | const char * | key, | |
| Any | value | |||
| ) |
AddProperty will add a PropertyNth to the PropertyNth stack which will be emtpied with the next build of a union or union item
| key | the PropertyNth key | |
| value | the value of the PropertyNth |
Referenced by Reflex::UnionBuilder::AddProperty().
| void Reflex::UnionBuilderImpl::AddProperty | ( | const char * | key, | |
| const char * | value | |||
| ) |
| void Reflex::UnionBuilderImpl::SetSizeOf | ( | size_t | size | ) |
SetSizeOf will set the SizeOf property for this union. It currently ignores all actual content. Size of the union
| Type Reflex::UnionBuilderImpl::ToType | ( | ) |
| void Reflex::UnionBuilderImpl::EnableCallback | ( | const bool | enable = true |
) | [protected] |
EnableCallback Enable or disable the callback call in the destructor
| enable | true to enable callback call, false to disable callback call |
friend class UnionBuilder [friend] |
Definition at line 103 of file UnionBuilder.h.
Union* Reflex::UnionBuilderImpl::fUnion [private] |
the union currently being built
Definition at line 113 of file UnionBuilder.h.
Member Reflex::UnionBuilderImpl::fLastMember [private] |
the last union item built
Definition at line 116 of file UnionBuilder.h.
bool Reflex::UnionBuilderImpl::fCallbackEnabled [private] |
flag, fire callback in destructor
Definition at line 119 of file UnionBuilder.h.
1.5.1