ROOT logo
ROOT » CINT » REFLEX » Reflex::UnionBuilderImpl

class Reflex::UnionBuilderImpl

Function Members (Methods)

public:
virtual~UnionBuilderImpl()
voidAddDataMember(const char* nam, const Reflex::Type& typ, size_t offs, unsigned int modifiers = 0)
voidAddFunctionMember(const char* nam, const Reflex::Type& typ, Reflex::StubFunction stubFP, void* stubCtx = 0, const char* params = 0, unsigned int modifiers = 0)
voidAddItem(const char* nam, const Reflex::Type& typ)
voidAddProperty(const char* key, Reflex::Any value)
voidAddProperty(const char* key, const char* value)
Reflex::UnionBuilderImpl&operator=(const Reflex::UnionBuilderImpl&)
voidSetSizeOf(size_t size)
Reflex::TypeToType()
Reflex::UnionBuilderImplUnionBuilderImpl(const Reflex::UnionBuilderImpl&)
Reflex::UnionBuilderImplUnionBuilderImpl(const char* nam, size_t size, const type_info& ti, unsigned int modifiers = 0, Reflex::TYPE typ = UNION)
protected:
voidEnableCallback(const bool enable = true)

Data Members

private:
boolfCallbackEnabled
Reflex::MemberfLastMember
Reflex::Union*fUnion

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

UnionBuilderImpl(const char* nam, size_t size, const type_info& ti, unsigned int modifiers = 0, Reflex::TYPE typ = UNION)
 constructor 
virtual ~UnionBuilderImpl()
 destructor 
void AddItem(const char* nam, const Reflex::Type& typ)
    * AddItem will add one union item
    * @param Name the Name of the union item
    * @param At the At of the union item

void AddFunctionMember(const char* nam, const Reflex::Type& typ, Reflex::StubFunction stubFP, void* stubCtx = 0, const char* params = 0, unsigned int modifiers = 0)
 AddDataMember will add the information about one data
    * MemberAt of the union
    *
    * @param  Name of the data MemberAt
    * @param  At of the data MemberAt
    * @param  Offset of the data MemberAt
    * @param  modifiers the modifiers of the data MemberAt

 AddFunctionMember will add the information about one
    * function MemberAt of the union
    *
    * @param  Name of the function MemberAt
    * @param  At of the function MemberAt
    * @param  stubFP Stub function pointer for the function
    * @param  stubCxt Stub user context for the stub function
    * @param  params parameter names and default values (semi-colon separated)
    * @param  modifiers the modifiers of the function MemberAt

void AddProperty(const char* key, const char* value)
    * AddProperty will add a PropertyNth to the PropertyNth stack
    * which will be emtpied with the next build of a union
    * or union item
    * @param  key the PropertyNth key
    * @param  value the value of the PropertyNth
    * @return a reference to the building class

Type ToType()
 SetSizeOf will set the SizeOf property for this union.
    * It currently ignores all actual content.
    * @size Size of the union


    * ToType will return the currently produced Type (class)
    * @return the type currently being built

void EnableCallback(const bool enable = true)
    * EnableCallback Enable or disable the callback call in the destructor
    * @param  enable true to enable callback call, false to disable callback call

template <class T> UnionBuilder& AddDataMember(const char* nam, size_t offs, unsigned int modifiers = 0)
 AddDataMember will add the information about one data
    * MemberAt of the union
    *
    * @param  Name of the data MemberAt
    * @param  Offset of data MemberAt
    * @param  modifiers the modifiers of the data MemberAt
    * @return a reference to the UnionBuilder

template <typename P> UnionBuilder& AddProperty(const char* key, Reflex::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
    * @param  key the PropertyNth key
    * @param  value the value of the PropertyNth
    * @return a reference to the building class