Reflex::ClassBuilderT< C > Class Template Reference
[ReflexBuilder]

#include <Reflex/Builder/ClassBuilder.h>

List of all members.

Public Member Functions

 ClassBuilderT (unsigned int modifiers=0, TYPE typ=CLASS)
 ClassBuilderT (const char *nam, unsigned int modifiers=0, TYPE typ=CLASS)
template<class B>
ClassBuilderTAddBase (unsigned int modifiers=0)
ClassBuilderTAddBase (const Type &bas, OffsetFunction offsFP, unsigned int modifiers=0)
template<class T>
ClassBuilderTAddDataMember (const char *nam, size_t offs, unsigned int modifiers=0)
ClassBuilderTAddDataMember (const Type &typ, const char *nam, size_t offs, unsigned int modifiers=0)
template<class F>
ClassBuilderTAddFunctionMember (const char *nam, StubFunction stubFP, void *stubCtx=0, const char *params=0, unsigned int modifiers=0)
ClassBuilderTAddFunctionMember (const Type &typ, const char *nam, StubFunction stubFP, void *stubCtx=0, const char *params=0, unsigned int modifiers=0)
template<typename TD>
ClassBuilderTAddTypedef (const char *def)
ClassBuilderTAddTypedef (const Type &typ, const char *def)
ClassBuilderTAddTypedef (const char *typ, const char *def)
template<typename E>
ClassBuilderTAddEnum (const char *values, unsigned int modifiers=0)
ClassBuilderTAddEnum (const char *nam, const char *values, const std::type_info *ti=0, unsigned int modifiers=0)
template<typename P>
ClassBuilderTAddProperty (const char *key, P value)
void AddOnDemandDataMemberBuilder (OnDemandBuilderForScope *odb)
void AddOnDemandFunctionMemberBuilder (OnDemandBuilderForScope *odb)
ClassBuilderTSetSizeOf (size_t size)
Type ToType ()

Protected Member Functions

ClassBuilderTEnableCallback (bool enable=true)

Private Attributes

ClassBuilderImpl fClassBuilderImpl


Detailed Description

template<class C>
class Reflex::ClassBuilderT< C >

Author:
Stefan Roiser
Date:
30/3/2004

Definition at line 303 of file ClassBuilder.h.


Constructor & Destructor Documentation

template<typename C>
Reflex::ClassBuilderT< C >::ClassBuilderT ( unsigned int  modifiers = 0,
TYPE  typ = CLASS 
) [inline]

constructor

Definition at line 498 of file ClassBuilder.h.

template<class C>
Reflex::ClassBuilderT< C >::ClassBuilderT ( const char *  nam,
unsigned int  modifiers = 0,
TYPE  typ = CLASS 
) [inline]

constructor

Definition at line 505 of file ClassBuilder.h.


Member Function Documentation

template<typename C>
template<typename B>
Reflex::ClassBuilderT< C > & Reflex::ClassBuilderT< C >::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 513 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddBase(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

template<class C>
Reflex::ClassBuilderT< C > & Reflex::ClassBuilderT< C >::AddBase ( const Type bas,
OffsetFunction  offsFP,
unsigned int  modifiers = 0 
) [inline]

Definition at line 522 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddBase(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

template<class C>
template<class T>
Reflex::ClassBuilderT< C > & Reflex::ClassBuilderT< C >::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 ClassBuilderT

Definition at line 533 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddDataMember(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

template<class C>
Reflex::ClassBuilderT< C > & Reflex::ClassBuilderT< C >::AddDataMember ( const Type typ,
const char *  nam,
size_t  offs,
unsigned int  modifiers = 0 
) [inline]

Definition at line 544 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddDataMember(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

template<typename C>
template<typename F>
Reflex::ClassBuilderT< C > & Reflex::ClassBuilderT< C >::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 556 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddFunctionMember(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

template<class C>
Reflex::ClassBuilderT< C > & Reflex::ClassBuilderT< C >::AddFunctionMember ( const Type typ,
const char *  nam,
StubFunction  stubFP,
void *  stubCtx = 0,
const char *  params = 0,
unsigned int  modifiers = 0 
) [inline]

Definition at line 569 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddFunctionMember(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

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

Definition at line 589 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddTypedef(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

template<class C>
Reflex::ClassBuilderT< C > & Reflex::ClassBuilderT< C >::AddTypedef ( const Type typ,
const char *  def 
) [inline]

Definition at line 612 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddTypedef(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

template<class C>
Reflex::ClassBuilderT< C > & Reflex::ClassBuilderT< C >::AddTypedef ( const char *  typ,
const char *  def 
) [inline]

Definition at line 600 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddTypedef(), Reflex::ClassBuilderT< C >::fClassBuilderImpl, and Reflex::TypeBuilder().

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

Definition at line 624 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddEnum(), Reflex::Tools::Demangle(), E, and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

template<class C>
Reflex::ClassBuilderT< C > & Reflex::ClassBuilderT< C >::AddEnum ( const char *  nam,
const char *  values,
const std::type_info *  ti = 0,
unsigned int  modifiers = 0 
) [inline]

Definition at line 638 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddEnum(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

template<class C>
template<class P>
Reflex::ClassBuilderT< C > & Reflex::ClassBuilderT< C >::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 667 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddProperty(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

template<class C>
void Reflex::ClassBuilderT< C >::AddOnDemandDataMemberBuilder ( OnDemandBuilderForScope odb  )  [inline]

Register an on demand data member builder with this class.

Definition at line 705 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddOnDemandDataMemberBuilder(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

template<class C>
void Reflex::ClassBuilderT< C >::AddOnDemandFunctionMemberBuilder ( OnDemandBuilderForScope odb  )  [inline]

Register an on demand function member builder with this class.

Definition at line 713 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::AddOnDemandFunctionMemberBuilder(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.

template<class C>
Reflex::ClassBuilderT< C > & Reflex::ClassBuilderT< C >::SetSizeOf ( size_t  size  )  [inline]

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

Definition at line 688 of file ClassBuilder.h.

References Reflex::ClassBuilderT< C >::fClassBuilderImpl, and Reflex::ClassBuilderImpl::SetSizeOf().

template<class C>
Reflex::Type Reflex::ClassBuilderT< C >::ToType (  )  [inline]

Definition at line 697 of file ClassBuilder.h.

References Reflex::ClassBuilderT< C >::fClassBuilderImpl, and Reflex::ClassBuilderImpl::ToType().

template<class C>
Reflex::ClassBuilderT< C > & Reflex::ClassBuilderT< C >::EnableCallback ( bool  enable = true  )  [inline, protected]

EnableCallback Enable or disable the callback call in the destructor

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

Definition at line 678 of file ClassBuilder.h.

References Reflex::ClassBuilderImpl::EnableCallback(), and Reflex::ClassBuilderT< C >::fClassBuilderImpl.


Member Data Documentation

template<class C>
ClassBuilderImpl Reflex::ClassBuilderT< C >::fClassBuilderImpl [private]

Definition at line 434 of file ClassBuilder.h.

Referenced by Reflex::ClassBuilderT< C >::AddBase(), Reflex::ClassBuilderT< C >::AddDataMember(), Reflex::ClassBuilderT< C >::AddEnum(), Reflex::ClassBuilderT< C >::AddFunctionMember(), Reflex::ClassBuilderT< C >::AddOnDemandDataMemberBuilder(), Reflex::ClassBuilderT< C >::AddOnDemandFunctionMemberBuilder(), Reflex::ClassBuilderT< C >::AddProperty(), Reflex::ClassBuilderT< C >::AddTypedef(), Reflex::ClassBuilderT< C >::EnableCallback(), Reflex::ClassBuilderT< C >::SetSizeOf(), and Reflex::ClassBuilderT< C >::ToType().


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