Reflex::UnionBuilderImpl Class Reference
[ReflexBuilder]

#include <Reflex/Builder/UnionBuilder.h>

List of all members.

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


Detailed Description

Author:
Stefan Roiser
Date:
14/3/2005

Definition at line 30 of file UnionBuilder.h.


Constructor & Destructor Documentation

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


Member Function Documentation

void Reflex::UnionBuilderImpl::AddItem ( const char *  nam,
const Type typ 
)

AddItem will add one union item

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
key the PropertyNth key
value the value of the PropertyNth
Returns:
a reference to the building class

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

Parameters:
enable true to enable callback call, false to disable callback call


Friends And Related Function Documentation

friend class UnionBuilder [friend]

Definition at line 103 of file UnionBuilder.h.


Member Data Documentation

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.


The documentation for this class was generated from the following file:
Generated on Tue Jul 5 16:56:46 2011 for ROOT_528-00b_version by  doxygen 1.5.1