Reflex::ClassBuilderImpl Class Reference
[ReflexBuilder]

#include <Reflex/Builder/ClassBuilder.h>

List of all members.

Public Member Functions

 ClassBuilderImpl (const char *nam, const std::type_info &ti, size_t size, unsigned int modifiers=0, TYPE typ=CLASS)
 ClassBuilderImpl (Class *cl)
virtual ~ClassBuilderImpl ()
void AddBase (const Type &bas, OffsetFunction offsFP, unsigned int modifiers=0)
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 AddTypedef (const Type &typ, const char *def)
void AddEnum (const char *nam, const char *values, const std::type_info *ti, unsigned int modifiers=0)
void AddProperty (const char *key, Any value)
void AddProperty (const char *key, const char *value)
void AddProperty (const char *key, const Literal &value)
void AddOnDemandDataMemberBuilder (OnDemandBuilderForScope *odb)
void AddOnDemandFunctionMemberBuilder (OnDemandBuilderForScope *odb)
void SetSizeOf (size_t size)
Type ToType ()

Protected Member Functions

void EnableCallback (bool enable=true)

Private Attributes

Class * fClass
Member fLastMember
bool fNewClass
bool fCallbackEnabled

Friends

class ClassBuilder
class ClassBuilderT


Detailed Description

Author:
Stefan Roiser
Date:
30/3/2004

Definition at line 39 of file ClassBuilder.h.


Constructor & Destructor Documentation

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

constructor

Reflex::ClassBuilderImpl::ClassBuilderImpl ( Class *  cl  ) 

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

destructor


Member Function Documentation

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

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

Referenced by Reflex::ClassBuilder::AddBase(), and Reflex::ClassBuilderT< C >::AddBase().

void Reflex::ClassBuilderImpl::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 class

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::ClassBuilderT< C >::AddDataMember(), and Reflex::ClassBuilder::AddDataMember().

void Reflex::ClassBuilderImpl::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 class

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::ClassBuilder::AddFunctionMember(), and Reflex::ClassBuilderT< C >::AddFunctionMember().

void Reflex::ClassBuilderImpl::AddTypedef ( const Type typ,
const char *  def 
)

Referenced by Reflex::ClassBuilderT< C >::AddTypedef(), and Reflex::ClassBuilder::AddTypedef().

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

Referenced by Reflex::ClassBuilder::AddEnum(), and Reflex::ClassBuilderT< C >::AddEnum().

void Reflex::ClassBuilderImpl::AddProperty ( const char *  key,
Any  value 
)

AddProperty will add a PropertyNth to the PropertyNth stack which will be emtpied with the next call of a builder class and attached to the item built with this call

Parameters:
key the PropertyNth key
value the value of the PropertyNth

Referenced by Reflex::ClassBuilderT< C >::AddProperty(), and Reflex::ClassBuilder::AddProperty().

void Reflex::ClassBuilderImpl::AddProperty ( const char *  key,
const char *  value 
)

void Reflex::ClassBuilderImpl::AddProperty ( const char *  key,
const Literal value 
) [inline]

Definition at line 111 of file ClassBuilder.h.

References value.

void Reflex::ClassBuilderImpl::AddOnDemandDataMemberBuilder ( OnDemandBuilderForScope odb  ) 

Register an on demand builder for data members with this class.

Referenced by Reflex::ClassBuilderT< C >::AddOnDemandDataMemberBuilder().

void Reflex::ClassBuilderImpl::AddOnDemandFunctionMemberBuilder ( OnDemandBuilderForScope odb  ) 

Register an on demand builder for function members with this class.

Referenced by Reflex::ClassBuilderT< C >::AddOnDemandFunctionMemberBuilder().

void Reflex::ClassBuilderImpl::SetSizeOf ( size_t  size  ) 

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

Referenced by Reflex::ClassBuilderT< C >::SetSizeOf().

Type Reflex::ClassBuilderImpl::ToType (  ) 

Referenced by Reflex::ClassBuilderT< C >::ToType().

void Reflex::ClassBuilderImpl::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

Referenced by Reflex::ClassBuilderT< C >::EnableCallback().


Friends And Related Function Documentation

friend class ClassBuilder [friend]

Definition at line 138 of file ClassBuilder.h.

friend class ClassBuilderT [friend]

Definition at line 139 of file ClassBuilder.h.


Member Data Documentation

Class* Reflex::ClassBuilderImpl::fClass [private]

current class being built

Definition at line 149 of file ClassBuilder.h.

Member Reflex::ClassBuilderImpl::fLastMember [private]

last added MemberAt

Definition at line 152 of file ClassBuilder.h.

bool Reflex::ClassBuilderImpl::fNewClass [private]

flag, true if this is truly building a new class

Definition at line 155 of file ClassBuilder.h.

bool Reflex::ClassBuilderImpl::fCallbackEnabled [private]

flag, fire callback in destructor

Definition at line 158 of file ClassBuilder.h.


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