Reflex::ClassBuilder Class Reference
[ReflexBuilder]

#include <Reflex/Builder/ClassBuilder.h>

List of all members.

Public Member Functions

 ClassBuilder (const char *nam, const std::type_info &ti, size_t size, unsigned int modifiers=0, TYPE typ=CLASS)
 ClassBuilder (Class *cl)
virtual ~ClassBuilder ()
template<class C, class B>
ClassBuilderAddBase (unsigned int modifiers=0)
ClassBuilderAddBase (const Type &bas, OffsetFunction offsFP, unsigned int modifiers=0)
template<class T>
ClassBuilderAddDataMember (const char *nam, size_t offs, unsigned int modifiers=0)
ClassBuilderAddDataMember (const Type &typ, const char *nam, size_t offs, unsigned int modifiers=0)
template<class F>
ClassBuilderAddFunctionMember (const char *nam, StubFunction stubFP, void *stubCtx=0, const char *params=0, unsigned int modifiers=0)
ClassBuilderAddFunctionMember (const Type &typ, const char *nam, StubFunction stubFP, void *stubCtx=0, const char *params=0, unsigned int modifiers=0)
template<typename TD>
ClassBuilderAddTypedef (const char *def)
ClassBuilderAddTypedef (const Type &typ, const char *def)
ClassBuilderAddTypedef (const char *typ, const char *def)
template<typename E>
ClassBuilderAddEnum (const char *values, unsigned int modifiers=0)
ClassBuilderAddEnum (const char *nam, const char *values, const std::type_info *ti=0, unsigned int modifiers=0)
template<typename P>
ClassBuilderAddProperty (const char *key, P value)
ClassBuilderAddOnDemandDataMemberBuilder (OnDemandBuilderForScope *odb)
ClassBuilderAddOnDemandFunctionMemberBuilder (OnDemandBuilderForScope *odb)
ClassBuilderSetSizeOf (size_t size)
Type ToType ()

Protected Member Functions

ClassBuilderEnableCallback (bool enable=true)

Private Attributes

ClassBuilderImpl fClassBuilderImpl


Detailed Description

Author:
Stefan Roiser
Date:
24/5/2004

Definition at line 169 of file ClassBuilder.h.


Constructor & Destructor Documentation

Reflex::ClassBuilder::ClassBuilder ( const char *  nam,
const std::type_info &  ti,
size_t  size,
unsigned int  modifiers = 0,
TYPE  typ = CLASS 
)

constructor

Reflex::ClassBuilder::ClassBuilder ( Class *  cl  ) 

virtual Reflex::ClassBuilder::~ClassBuilder (  )  [virtual]

destructor


Member Function Documentation

template<typename C, typename B>
Reflex::ClassBuilder & Reflex::ClassBuilder::AddBase ( unsigned int  modifiers = 0  )  [inline]

AddBase will add the information about one BaseAt class

Parameters:
Name of the BaseAt class
OffsetFP function pointer for Offset calculation
modifiers the modifiers of the class

Definition at line 442 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddBase(), and fClassBuilderImpl.

ClassBuilder& Reflex::ClassBuilder::AddBase ( const Type bas,
OffsetFunction  offsFP,
unsigned int  modifiers = 0 
)

template<typename T>
Reflex::ClassBuilder & Reflex::ClassBuilder::AddDataMember ( const char *  nam,
size_t  offs,
unsigned int  modifiers = 0 
) [inline]

AddDataMember will add the information about one data MemberAt of the class

Parameters:
Name of the data MemberAt
Offset of data MemberAt
modifiers the modifiers of the data MemberAt
Returns:
a reference to the ClassBuilder

Definition at line 450 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddDataMember(), and fClassBuilderImpl.

ClassBuilder& Reflex::ClassBuilder::AddDataMember ( const Type typ,
const char *  nam,
size_t  offs,
unsigned int  modifiers = 0 
)

template<typename F>
Reflex::ClassBuilder & Reflex::ClassBuilder::AddFunctionMember ( const char *  nam,
StubFunction  stubFP,
void *  stubCtx = 0,
const char *  params = 0,
unsigned int  modifiers = 0 
) [inline]

AddFunctionMember will add the information about one function MemberAt of the class

Parameters:
Name of the function MemberAt
function templated function MemberAt to extract At information
stubFP Stub function pointer for the function
stubCxt Stub user context for the stub function
params pamater names and default values (semi-colon separated)
modifiers the modifiers of the data MemberAt
Returns:
a reference to the ClassBuilder

Definition at line 460 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddFunctionMember(), and fClassBuilderImpl.

ClassBuilder& Reflex::ClassBuilder::AddFunctionMember ( const Type typ,
const char *  nam,
StubFunction  stubFP,
void *  stubCtx = 0,
const char *  params = 0,
unsigned int  modifiers = 0 
)

template<typename TD>
Reflex::ClassBuilder & Reflex::ClassBuilder::AddTypedef ( const char *  def  )  [inline]

Definition at line 472 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddTypedef(), and fClassBuilderImpl.

ClassBuilder& Reflex::ClassBuilder::AddTypedef ( const Type typ,
const char *  def 
)

ClassBuilder& Reflex::ClassBuilder::AddTypedef ( const char *  typ,
const char *  def 
)

template<typename E>
Reflex::ClassBuilder & Reflex::ClassBuilder::AddEnum ( const char *  values,
unsigned int  modifiers = 0 
) [inline]

Definition at line 480 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddEnum(), Reflex::Tools::Demangle(), E, and fClassBuilderImpl.

ClassBuilder& Reflex::ClassBuilder::AddEnum ( const char *  nam,
const char *  values,
const std::type_info *  ti = 0,
unsigned int  modifiers = 0 
)

template<typename P>
Reflex::ClassBuilder & Reflex::ClassBuilder::AddProperty ( const char *  key,
value 
) [inline]

AddProperty will add a PropertyNth to the last defined data MemberAt, method or class.

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

Definition at line 489 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddProperty(), and fClassBuilderImpl.

ClassBuilder& Reflex::ClassBuilder::AddOnDemandDataMemberBuilder ( OnDemandBuilderForScope odb  ) 

Register an on demand data member builder with this class.

ClassBuilder& Reflex::ClassBuilder::AddOnDemandFunctionMemberBuilder ( OnDemandBuilderForScope odb  ) 

Register an on demand function member builder with this class.

ClassBuilder& Reflex::ClassBuilder::SetSizeOf ( size_t  size  ) 

SetSizeOf will set the SizeOf property for this class. It currently ignore all actual content. Size of the class

Type Reflex::ClassBuilder::ToType (  ) 

ClassBuilder& Reflex::ClassBuilder::EnableCallback ( 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


Member Data Documentation

ClassBuilderImpl Reflex::ClassBuilder::fClassBuilderImpl [private]

Definition at line 291 of file ClassBuilder.h.

Referenced by AddBase(), AddDataMember(), AddEnum(), AddFunctionMember(), AddProperty(), and AddTypedef().


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