Reflex::ScopeBase Class Reference
[Reflex]

#include <Reflex/ScopeBase.h>

List of all members.

Public Types

enum  EBuilderKind

Public Member Functions

 ScopeBase (const char *scope, TYPE scopeType)
virtual ~ScopeBase ()
 operator Scope () const
 operator Type () const
virtual Base BaseAt (size_t nth) const
virtual size_t BaseSize () const
virtual Base_Iterator Base_Begin () const
virtual Base_Iterator Base_End () const
virtual Reverse_Base_Iterator Base_RBegin () const
virtual Reverse_Base_Iterator Base_REnd () const
virtual Member DataMemberAt (size_t nth, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Member DataMemberByName (const std::string &nam, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual size_t DataMemberSize (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Member_Iterator DataMember_Begin (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Member_Iterator DataMember_End (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Reverse_Member_Iterator DataMember_RBegin (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Reverse_Member_Iterator DataMember_REnd (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Scope DeclaringScope () const
virtual Member FunctionMemberAt (size_t nth, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Member FunctionMemberByName (const std::string &name, const Type &signature, unsigned int modifiers_mask=0, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT, EDELAYEDLOADSETTING allowDelayedLoad=DELAYEDLOAD_ON) const
virtual Member FunctionMemberByNameAndSignature (const std::string &name, const Type &signature, unsigned int modifiers_mask=0, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT, EDELAYEDLOADSETTING allowDelayedLoad=DELAYEDLOAD_ON) const
virtual size_t FunctionMemberSize (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Member_Iterator FunctionMember_Begin (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Member_Iterator FunctionMember_End (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Reverse_Member_Iterator FunctionMember_RBegin (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Reverse_Member_Iterator FunctionMember_REnd (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual void GenerateDict (DictionaryGenerator &generator) const
size_t GetBasePosition () const
virtual bool HasBase (const Type &cl) const
bool IsClass () const
bool IsEnum () const
bool IsNamespace () const
bool IsTemplateInstance () const
bool IsTopScope () const
bool IsUnion () const
Member LookupMember (const std::string &nam, const Scope &current) const
Type LookupType (const std::string &nam, const Scope &current) const
Scope LookupScope (const std::string &nam, const Scope &current) const
virtual Member MemberByName (const std::string &name, const Type &signature, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Member MemberAt (size_t nth, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Member_Iterator Member_Begin (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Member_Iterator Member_End (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Reverse_Member_Iterator Member_RBegin (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual Reverse_Member_Iterator Member_REnd (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
virtual size_t MemberSize (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
MemberTemplate MemberTemplateAt (size_t nth) const
size_t MemberTemplateSize () const
MemberTemplate MemberTemplateByName (const std::string &nam) const
MemberTemplate_Iterator MemberTemplate_Begin () const
MemberTemplate_Iterator MemberTemplate_End () const
Reverse_MemberTemplate_Iterator MemberTemplate_RBegin () const
Reverse_MemberTemplate_Iterator MemberTemplate_REnd () const
virtual std::string Name (unsigned int mod=0) const
virtual const char * SimpleName (size_t &pos, unsigned int mod=0) const
virtual PropertyList Properties () const
Scope ThisScope () const
TYPE ScopeType () const
std::string ScopeTypeAsString () const
Scope SubScopeAt (size_t nth) const
size_t SubScopeLevel () const
size_t SubScopeSize () const
Scope SubScopeByName (const std::string &nam) const
Scope_Iterator SubScope_Begin () const
Scope_Iterator SubScope_End () const
Reverse_Scope_Iterator SubScope_RBegin () const
Reverse_Scope_Iterator SubScope_REnd () const
Type SubTypeAt (size_t nth) const
size_t SubTypeSize () const
Type SubTypeByName (const std::string &nam) const
Type_Iterator SubType_Begin () const
Type_Iterator SubType_End () const
Reverse_Type_Iterator SubType_RBegin () const
Reverse_Type_Iterator SubType_REnd () const
TypeTemplate SubTypeTemplateAt (size_t nth) const
size_t SubTypeTemplateSize () const
TypeTemplate SubTypeTemplateByName (const std::string &nam) const
TypeTemplate_Iterator SubTypeTemplate_Begin () const
TypeTemplate_Iterator SubTypeTemplate_End () const
Reverse_TypeTemplate_Iterator SubTypeTemplate_RBegin () const
Reverse_TypeTemplate_Iterator SubTypeTemplate_REnd () const
Scope UsingDirectiveAt (size_t nth) const
size_t UsingDirectiveSize () const
Scope_Iterator UsingDirective_Begin () const
Scope_Iterator UsingDirective_End () const
Reverse_Scope_Iterator UsingDirective_RBegin () const
Reverse_Scope_Iterator UsingDirective_REnd () const
virtual void AddBase (const Type &bas, OffsetFunction offsFP, unsigned int modifiers=0) const
virtual void AddBase (const Base &b) const
virtual void AddDataMember (const Member &dm) const
virtual Member AddDataMember (const char *name, const Type &type, size_t offset, unsigned int modifiers=0, char *interpreterOffset=0) const
virtual void AddFunctionMember (const Member &fm) const
virtual Member AddFunctionMember (const char *name, const Type &type, StubFunction stubFP, void *stubCtx=0, const char *params=0, unsigned int modifiers=0) const
virtual void AddMemberTemplate (const MemberTemplate &mt) const
virtual void AddSubScope (const Scope &sc) const
virtual void AddSubScope (const char *scope, TYPE scopeType) const
virtual void AddSubType (const Type &ty) const
virtual void AddSubType (const char *type, size_t size, TYPE typeType, const std::type_info &ti, unsigned int modifiers=0) const
void AddSubTypeTemplate (const TypeTemplate &tt) const
void AddUsingDirective (const Scope &ud) const
virtual void RemoveDataMember (const Member &dm) const
virtual void RemoveFunctionMember (const Member &fm) const
virtual void RemoveMemberTemplate (const MemberTemplate &mt) const
virtual void RemoveSubScope (const Scope &sc) const
virtual void RemoveSubType (const Type &ty) const
virtual void RemoveSubTypeTemplate (const TypeTemplate &tt) const
void RemoveUsingDirective (const Scope &ud) const
virtual void HideName () const
virtual void UnhideName () const
virtual bool UpdateMembers () const
void RegisterOnDemandBuilder (OnDemandBuilder *builder, EBuilderKind kind)

Static Public Member Functions

static Scope GlobalScope ()

Protected Types

typedef std::vector< MemberMembers
typedef std::vector< OwnedMemberOMembers

Protected Member Functions

 ScopeBase ()
Member MemberByName2 (const std::vector< Member > &members, const std::string &name, const Type *signature=0, unsigned int modifiers_mask=0, bool matchReturnType=true) const
void ExecuteFunctionMemberDelayLoad () const
void ExecuteDataMemberDelayLoad () const

Protected Attributes

std::vector< OwnedMemberfMembers
std::vector< MemberfDataMembers
std::vector< MemberfFunctionMembers

Private Member Functions

 ScopeBase (const ScopeBase &)
ScopeBaseoperator= (const ScopeBase &)

Private Attributes

ScopeNamefScopeName
TYPE fScopeType
Scope fDeclaringScope
std::vector< ScopefSubScopes
std::vector< TypefSubTypes
std::vector< TypeTemplatefTypeTemplates
std::vector< OwnedMemberTemplatefMemberTemplates
std::vector< ScopefUsingDirectives
size_t fBasePosition
BuilderContainer fOnDemandBuilder [kNumBuilderKinds]


Detailed Description

Author:
Stefan Roiser
Date:
24/11/2003

Definition at line 51 of file ScopeBase.h.


Member Typedef Documentation

typedef std::vector<Member> Reflex::ScopeBase::Members [protected]

container for all members of the Scope

Definition at line 690 of file ScopeBase.h.

typedef std::vector<OwnedMember> Reflex::ScopeBase::OMembers [protected]

Definition at line 691 of file ScopeBase.h.


Member Enumeration Documentation

enum Reflex::ScopeBase::EBuilderKind

Definition at line 53 of file ScopeBase.h.


Constructor & Destructor Documentation

Reflex::ScopeBase::ScopeBase ( const char *  scope,
TYPE  scopeType 
)

constructor within a At

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

destructor

Reflex::ScopeBase::ScopeBase (  )  [protected]

protected constructor for initialisation of the global namespace

Reflex::ScopeBase::ScopeBase ( const ScopeBase  )  [private]


Member Function Documentation

Reflex::ScopeBase::operator Scope (  )  const

operator Scope will return the corresponding Scope object

Returns:
Scope corresponding to this ScopeBase

Reflex::ScopeBase::operator Type (  )  const

the operator Type will return a corresponding Type object to the At if applicable (i.e. if the Scope is also a Type e.g. Class, Union, Enum)

virtual Base Reflex::ScopeBase::BaseAt ( size_t  nth  )  const [virtual]

nthBase will return the nth BaseAt class information

Parameters:
nth nth BaseAt class
Returns:
pointer to BaseAt class information

size_t Reflex::ScopeBase::BaseSize (  )  const [inline, virtual]

BaseSize will return the number of BaseAt classes

Returns:
number of BaseAt classes

Definition at line 826 of file ScopeBase.h.

Reflex::Base_Iterator Reflex::ScopeBase::Base_Begin (  )  const [inline, virtual]

Definition at line 834 of file ScopeBase.h.

References Reflex::Dummy::BaseCont().

Referenced by Reflex::Scope::Base_Begin().

Reflex::Base_Iterator Reflex::ScopeBase::Base_End (  )  const [inline, virtual]

Definition at line 842 of file ScopeBase.h.

References Reflex::Dummy::BaseCont().

Referenced by Reflex::Scope::Base_End().

Reflex::Reverse_Base_Iterator Reflex::ScopeBase::Base_RBegin (  )  const [inline, virtual]

Definition at line 850 of file ScopeBase.h.

References Reflex::Dummy::BaseCont().

Referenced by Reflex::Scope::Base_RBegin().

Reflex::Reverse_Base_Iterator Reflex::ScopeBase::Base_REnd (  )  const [inline, virtual]

Definition at line 858 of file ScopeBase.h.

References Reflex::Dummy::BaseCont().

Referenced by Reflex::Scope::Base_REnd().

virtual Member Reflex::ScopeBase::DataMemberAt ( size_t  nth,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT 
) const [virtual]

nthDataMember will return the nth data MemberAt of the At

Parameters:
nth data MemberAt
Returns:
pointer to data MemberAt

virtual Member Reflex::ScopeBase::DataMemberByName ( const std::string nam,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT 
) const [virtual]

DataMemberByName will return the MemberAt with Name

Parameters:
Name of data MemberAt
Returns:
data MemberAt

virtual size_t Reflex::ScopeBase::DataMemberSize ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [virtual]

DataMemberSize will return the number of data members of this At

Returns:
number of data members

Reflex::Member_Iterator Reflex::ScopeBase::DataMember_Begin ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline, virtual]

Definition at line 874 of file ScopeBase.h.

References ExecuteDataMemberDelayLoad(), and fDataMembers.

Referenced by Reflex::Scope::DataMember_Begin().

Reflex::Member_Iterator Reflex::ScopeBase::DataMember_End ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline, virtual]

Definition at line 883 of file ScopeBase.h.

References ExecuteDataMemberDelayLoad(), and fDataMembers.

Referenced by Reflex::Scope::DataMember_End().

Reflex::Reverse_Member_Iterator Reflex::ScopeBase::DataMember_RBegin ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline, virtual]

Definition at line 892 of file ScopeBase.h.

References ExecuteDataMemberDelayLoad(), and fDataMembers.

Referenced by Reflex::Scope::DataMember_RBegin().

Reflex::Reverse_Member_Iterator Reflex::ScopeBase::DataMember_REnd ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline, virtual]

Definition at line 901 of file ScopeBase.h.

References ExecuteDataMemberDelayLoad(), and fDataMembers.

Referenced by Reflex::Scope::DataMember_REnd().

Reflex::Scope Reflex::ScopeBase::DeclaringScope (  )  const [inline, virtual]

DeclaringScope will return a pointer to the At of this one

Returns:
pointer to declaring At

Definition at line 866 of file ScopeBase.h.

References fDeclaringScope.

Referenced by Reflex::Scope::DeclaringScope().

virtual Member Reflex::ScopeBase::FunctionMemberAt ( size_t  nth,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT 
) const [virtual]

nthFunctionMember will return the nth function MemberAt of the At

Parameters:
nth function MemberAt
Returns:
pointer to function MemberAt

virtual Member Reflex::ScopeBase::FunctionMemberByName ( const std::string name,
const Type signature,
unsigned int  modifiers_mask = 0,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT,
EDELAYEDLOADSETTING  allowDelayedLoad = DELAYEDLOAD_ON 
) const [virtual]

FunctionMemberByName will return the MemberAt with the Name, optionally the signature of the function may be given

Parameters:
Name of function MemberAt
signature of the MemberAt function When matching, do not compare the listed modifiers
Returns:
function MemberAt

virtual Member Reflex::ScopeBase::FunctionMemberByNameAndSignature ( const std::string name,
const Type signature,
unsigned int  modifiers_mask = 0,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT,
EDELAYEDLOADSETTING  allowDelayedLoad = DELAYEDLOAD_ON 
) const [virtual]

FunctionMemberByNameAndSignature will return the MemberAt with the Name, optionally the signature of the function may be given

Parameters:
Name of function MemberAt
signature of the MemberAt function When matching, do not compare the listed modifiers
Returns:
function MemberAt

virtual size_t Reflex::ScopeBase::FunctionMemberSize ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [virtual]

FunctionMemberSize will return the number of function members of this type

Returns:
number of function members

Reflex::Member_Iterator Reflex::ScopeBase::FunctionMember_Begin ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline, virtual]

Definition at line 910 of file ScopeBase.h.

References ExecuteFunctionMemberDelayLoad(), and fFunctionMembers.

Referenced by Reflex::Scope::FunctionMember_Begin().

Reflex::Member_Iterator Reflex::ScopeBase::FunctionMember_End ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline, virtual]

Definition at line 919 of file ScopeBase.h.

References ExecuteFunctionMemberDelayLoad(), and fFunctionMembers.

Referenced by Reflex::Scope::FunctionMember_End().

Reflex::Reverse_Member_Iterator Reflex::ScopeBase::FunctionMember_RBegin ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline, virtual]

Definition at line 928 of file ScopeBase.h.

References ExecuteFunctionMemberDelayLoad(), and fFunctionMembers.

Referenced by Reflex::Scope::FunctionMember_RBegin().

Reflex::Reverse_Member_Iterator Reflex::ScopeBase::FunctionMember_REnd ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline, virtual]

Definition at line 937 of file ScopeBase.h.

References ExecuteFunctionMemberDelayLoad(), and fFunctionMembers.

Referenced by Reflex::Scope::FunctionMember_REnd().

virtual void Reflex::ScopeBase::GenerateDict ( DictionaryGenerator &  generator  )  const [virtual]

GenerateDict will produce the dictionary information of this type

Parameters:
generator a reference to the dictionary generator instance

size_t Reflex::ScopeBase::GetBasePosition (  )  const [inline]

GetBasePosition will return fBasePosition

Returns:
The position where the unscoped Name starts in the typename

Definition at line 946 of file ScopeBase.h.

References fBasePosition.

static Scope Reflex::ScopeBase::GlobalScope (  )  [static]

GlobalScope will return the global scope representation\

Returns:
global scope

Referenced by Reflex::Scope::GlobalScope().

bool Reflex::ScopeBase::HasBase ( const Type cl  )  const [inline, virtual]

HasBase will check whether this class has a base class given as argument

Parameters:
cl the base-class to check for
Returns:
the Base info if it is found, an empty base otherwise (can be tested for bool)

Definition at line 1051 of file ScopeBase.h.

bool Reflex::ScopeBase::IsClass (  )  const [inline]

IsClass returns true if the At represents a Class

Returns:
true if At represents a Class

Definition at line 1070 of file ScopeBase.h.

References Reflex::CLASS, fScopeType, Reflex::STRUCT, and Reflex::TYPETEMPLATEINSTANCE.

Referenced by Reflex::Scope::IsClass().

bool Reflex::ScopeBase::IsEnum (  )  const [inline]

IsEnum returns true if the At represents a Enum

Returns:
true if At represents a Enum

Definition at line 1080 of file ScopeBase.h.

References Reflex::ENUM, and fScopeType.

Referenced by Reflex::Scope::IsEnum().

bool Reflex::ScopeBase::IsNamespace (  )  const [inline]

IsNamespace returns true if the At represents a Namespace

Returns:
true if At represents a Namespace

Definition at line 1088 of file ScopeBase.h.

References fScopeType, and Reflex::NAMESPACE.

Referenced by Reflex::Scope::IsNamespace().

bool Reflex::ScopeBase::IsTemplateInstance (  )  const

IsTemplateInstance returns true if the At represents a ClassTemplateInstance

Returns:
true if At represents a InstantiatedTemplateClass

Referenced by Reflex::Scope::IsTemplateInstance().

bool Reflex::ScopeBase::IsTopScope (  )  const

IsTopScope will return true if the current At is the top (Empty) namespace

Returns:
true if current sope is top namespace

Referenced by Reflex::Scope::IsTopScope().

bool Reflex::ScopeBase::IsUnion (  )  const [inline]

IsUnion returns true if the At represents a Union

Returns:
true if At represents a

Definition at line 1103 of file ScopeBase.h.

References fScopeType, and Reflex::UNION.

Referenced by Reflex::Scope::IsUnion().

Member Reflex::ScopeBase::LookupMember ( const std::string nam,
const Scope current 
) const

LookupMember will lookup a member in the current scope

Parameters:
nam the string representation of the member to lookup
current the current scope
Returns:
if a matching member is found return it, otherwise return empty member

Type Reflex::ScopeBase::LookupType ( const std::string nam,
const Scope current 
) const

LookupType will lookup a type in the current scope

Parameters:
nam the string representation of the type to lookup
current the current scope
Returns:
if a matching type is found return it, otherwise return empty type

Scope Reflex::ScopeBase::LookupScope ( const std::string nam,
const Scope current 
) const

LookupType will lookup a scope in the current scope

Parameters:
nam the string representation of the scope to lookup
current the current scope
Returns:
if a matching scope is found return it, otherwise return empty scope

virtual Member Reflex::ScopeBase::MemberByName ( const std::string name,
const Type signature,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT 
) const [virtual]

MemberByName will return the first MemberAt with a given Name

Parameters:
Name MemberAt Name
Returns:
pointer to MemberAt

virtual Member Reflex::ScopeBase::MemberAt ( size_t  nth,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT 
) const [virtual]

MemberAt will return the nth MemberAt of the At

Parameters:
nth MemberAt
Returns:
pointer to nth MemberAt

virtual Member_Iterator Reflex::ScopeBase::Member_Begin ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [virtual]

virtual Member_Iterator Reflex::ScopeBase::Member_End ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [virtual]

virtual Reverse_Member_Iterator Reflex::ScopeBase::Member_RBegin ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [virtual]

virtual Reverse_Member_Iterator Reflex::ScopeBase::Member_REnd ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [virtual]

virtual size_t Reflex::ScopeBase::MemberSize ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [virtual]

MemberSize will return the number of members

Returns:
number of members

Referenced by Reflex::Scope::MemberSize().

MemberTemplate Reflex::ScopeBase::MemberTemplateAt ( size_t  nth  )  const

MemberTemplateAt will return the nth MemberAt template of this At

Parameters:
nth MemberAt template
Returns:
nth MemberAt template

size_t Reflex::ScopeBase::MemberTemplateSize (  )  const

MemberTemplateSize will return the number of MemberAt templates in this socpe

Returns:
number of defined MemberAt templates

MemberTemplate Reflex::ScopeBase::MemberTemplateByName ( const std::string nam  )  const

MemberTemplateByName will return the member template representation in this scope

Parameters:
string representing the member template to look for
Returns:
member template representation of the looked up member

MemberTemplate_Iterator Reflex::ScopeBase::MemberTemplate_Begin (  )  const

Referenced by Reflex::Scope::MemberTemplate_Begin().

MemberTemplate_Iterator Reflex::ScopeBase::MemberTemplate_End (  )  const

Referenced by Reflex::Scope::MemberTemplate_End().

Reverse_MemberTemplate_Iterator Reflex::ScopeBase::MemberTemplate_RBegin (  )  const

Referenced by Reflex::Scope::MemberTemplate_RBegin().

Reverse_MemberTemplate_Iterator Reflex::ScopeBase::MemberTemplate_REnd (  )  const

Referenced by Reflex::Scope::MemberTemplate_REnd().

virtual std::string Reflex::ScopeBase::Name ( unsigned int  mod = 0  )  const [virtual]

Name will return the Name of the At

Returns:
Name of At

virtual const char* Reflex::ScopeBase::SimpleName ( size_t pos,
unsigned int  mod = 0 
) const [virtual]

SimpleName returns the name of the type as a reference. It provides a simplified but faster generation of a type name. Attention currently it is not guaranteed that Name() and SimpleName() return the same character layout of a name (ie. spacing, commas, etc. )

Parameters:
pos will indicate where in the returned reference the requested name starts
mod The only 'mod' support is SCOPED
Returns:
name of type

virtual PropertyList Reflex::ScopeBase::Properties (  )  const [virtual]

Properties will return a pointer to the PropertyNth list attached to this item

Returns:
pointer to PropertyNth list

Referenced by Reflex::Scope::Properties().

Scope Reflex::ScopeBase::ThisScope (  )  const

At will return the At Object of this ScopeBase

Returns:
corresponding Scope

Reflex::TYPE Reflex::ScopeBase::ScopeType (  )  const [inline]

ScopeType will return which kind of At is represented

Returns:
At of At

Definition at line 1111 of file ScopeBase.h.

References fScopeType.

Referenced by Reflex::Scope::ScopeType().

std::string Reflex::ScopeBase::ScopeTypeAsString (  )  const

ScopeTypeAsString will return the string representation of the enum representing the current Scope (e.g. "CLASS")

Returns:
string representation of enum for Scope

Referenced by Reflex::Scope::ScopeTypeAsString().

Reflex::Scope Reflex::ScopeBase::SubScopeAt ( size_t  nth  )  const [inline]

SubScopeAt will return a pointer to a sub-scopes

Parameters:
nth sub-At
Returns:
pointer to nth sub-At

Definition at line 1119 of file ScopeBase.h.

References fSubScopes, and Reflex::Dummy::Scope().

Referenced by Reflex::Scope::SubScopeAt().

size_t Reflex::ScopeBase::SubScopeLevel (  )  const

SubScopeLevel will return the number of declaring scopes this scope lives in.

Returns:
number of declaring scopes above this scope.

Referenced by Reflex::Scope::SubScopeLevel().

size_t Reflex::ScopeBase::SubScopeSize (  )  const [inline]

ScopeSize will return the number of sub-scopes

Returns:
number of sub-scopes

Definition at line 1130 of file ScopeBase.h.

References fSubScopes.

Referenced by Reflex::Scope::SubScopeSize().

Scope Reflex::ScopeBase::SubScopeByName ( const std::string nam  )  const

SubScopeByName will return a sub scope representing the unscoped name passed as argument

Parameters:
unscoped name of the sub scope to look for
Returns:
Scope representation of the sub scope

Referenced by Reflex::Scope::SubScopeByName().

Reflex::Scope_Iterator Reflex::ScopeBase::SubScope_Begin (  )  const [inline]

Definition at line 954 of file ScopeBase.h.

References fSubScopes.

Referenced by Reflex::Scope::SubScope_Begin().

Reflex::Scope_Iterator Reflex::ScopeBase::SubScope_End (  )  const [inline]

Definition at line 962 of file ScopeBase.h.

References fSubScopes.

Referenced by Reflex::Scope::SubScope_End().

Reflex::Reverse_Scope_Iterator Reflex::ScopeBase::SubScope_RBegin (  )  const [inline]

Definition at line 970 of file ScopeBase.h.

References fSubScopes.

Referenced by Reflex::Scope::SubScope_RBegin().

Reflex::Reverse_Scope_Iterator Reflex::ScopeBase::SubScope_REnd (  )  const [inline]

Definition at line 978 of file ScopeBase.h.

References fSubScopes.

Referenced by Reflex::Scope::SubScope_REnd().

Type Reflex::ScopeBase::SubTypeAt ( size_t  nth  )  const

At will return a pointer to the nth sub-At

Parameters:
nth sub-At
Returns:
pointer to nth sub-At

size_t Reflex::ScopeBase::SubTypeSize (  )  const

TypeSize will returnt he number of sub-types

Returns:
number of sub-types

Type Reflex::ScopeBase::SubTypeByName ( const std::string nam  )  const

SubTypeByName will return the Type representing the sub type

Parameters:
string of the unscoped sub type to look for
Returns:
Type representation of the sub type

Reflex::Type_Iterator Reflex::ScopeBase::SubType_Begin (  )  const [inline]

Definition at line 986 of file ScopeBase.h.

References fSubTypes.

Referenced by Reflex::Scope::SubType_Begin().

Reflex::Type_Iterator Reflex::ScopeBase::SubType_End (  )  const [inline]

Definition at line 994 of file ScopeBase.h.

References fSubTypes.

Referenced by Reflex::Scope::SubType_End().

Reflex::Reverse_Type_Iterator Reflex::ScopeBase::SubType_RBegin (  )  const [inline]

Definition at line 1002 of file ScopeBase.h.

References fSubTypes.

Referenced by Reflex::Scope::SubType_RBegin().

Reflex::Reverse_Type_Iterator Reflex::ScopeBase::SubType_REnd (  )  const [inline]

Definition at line 1010 of file ScopeBase.h.

References fSubTypes.

Referenced by Reflex::Scope::SubType_REnd().

TypeTemplate Reflex::ScopeBase::SubTypeTemplateAt ( size_t  nth  )  const

SubTypeTemplateAt will return the nth At template of this At

Parameters:
nth sub type template
Returns:
nth sub type template

size_t Reflex::ScopeBase::SubTypeTemplateSize (  )  const

SubTypeTemplateSize will return the number of At templates in this socpe

Returns:
number of defined sub type templates

TypeTemplate Reflex::ScopeBase::SubTypeTemplateByName ( const std::string nam  )  const

SubTypeTemplateByName will return a type template defined in this scope looked up by it's unscoped name

Parameters:
unscoped name of the type template to look for
Returns:
TypeTemplate representation of the sub type template

Reflex::TypeTemplate_Iterator Reflex::ScopeBase::SubTypeTemplate_Begin (  )  const [inline]

Definition at line 1018 of file ScopeBase.h.

References fTypeTemplates.

Referenced by Reflex::Scope::SubTypeTemplate_Begin().

Reflex::TypeTemplate_Iterator Reflex::ScopeBase::SubTypeTemplate_End (  )  const [inline]

Definition at line 1026 of file ScopeBase.h.

References fTypeTemplates.

Referenced by Reflex::Scope::SubTypeTemplate_End().

Reflex::Reverse_TypeTemplate_Iterator Reflex::ScopeBase::SubTypeTemplate_RBegin (  )  const [inline]

Definition at line 1034 of file ScopeBase.h.

References fTypeTemplates.

Referenced by Reflex::Scope::SubTypeTemplate_RBegin().

Reflex::Reverse_TypeTemplate_Iterator Reflex::ScopeBase::SubTypeTemplate_REnd (  )  const [inline]

Definition at line 1042 of file ScopeBase.h.

References fTypeTemplates.

Referenced by Reflex::Scope::SubTypeTemplate_REnd().

Reflex::Scope Reflex::ScopeBase::UsingDirectiveAt ( size_t  nth  )  const [inline]

UsingDirectiveAt will return the nth using directive

Parameters:
nth using directive
Returns:
nth using directive

Definition at line 1138 of file ScopeBase.h.

References fUsingDirectives, and Reflex::Dummy::Scope().

Referenced by Reflex::Scope::UsingDirectiveAt().

size_t Reflex::ScopeBase::UsingDirectiveSize (  )  const [inline]

UsingDirectiveSize will return the number of using directives of this scope

Returns:
number of using directives declared in this scope

Definition at line 1149 of file ScopeBase.h.

References fUsingDirectives.

Referenced by Reflex::Scope::UsingDirectiveSize().

Reflex::Scope_Iterator Reflex::ScopeBase::UsingDirective_Begin (  )  const [inline]

Definition at line 1157 of file ScopeBase.h.

References fUsingDirectives.

Referenced by Reflex::Scope::UsingDirective_Begin().

Reflex::Scope_Iterator Reflex::ScopeBase::UsingDirective_End (  )  const [inline]

Definition at line 1165 of file ScopeBase.h.

References fUsingDirectives.

Referenced by Reflex::Scope::UsingDirective_End().

Reflex::Reverse_Scope_Iterator Reflex::ScopeBase::UsingDirective_RBegin (  )  const [inline]

Definition at line 1173 of file ScopeBase.h.

References fUsingDirectives.

Referenced by Reflex::Scope::UsingDirective_RBegin().

Reflex::Reverse_Scope_Iterator Reflex::ScopeBase::UsingDirective_REnd (  )  const [inline]

Definition at line 1181 of file ScopeBase.h.

References fUsingDirectives.

Referenced by Reflex::Scope::UsingDirective_REnd().

virtual void Reflex::ScopeBase::AddBase ( const Type bas,
OffsetFunction  offsFP,
unsigned int  modifiers = 0 
) const [virtual]

AddBase will add information about a Base class

Parameters:
base type of the base class
offsFP pointer to a function stub for calculating the base class offset
modifiers the modifiers of the base class

Referenced by Reflex::Scope::AddBase().

virtual void Reflex::ScopeBase::AddBase ( const Base b  )  const [virtual]

AddBase will add the information about a Base class

Parameters:
b pointer to the base class

virtual void Reflex::ScopeBase::AddDataMember ( const Member dm  )  const [virtual]

AddDataMember will add the information about a data MemberAt

Parameters:
dm pointer to data MemberAt

virtual Member Reflex::ScopeBase::AddDataMember ( const char *  name,
const Type type,
size_t  offset,
unsigned int  modifiers = 0,
char *  interpreterOffset = 0 
) const [virtual]

virtual void Reflex::ScopeBase::AddFunctionMember ( const Member fm  )  const [virtual]

AddFunctionMember will add the information about a function MemberAt

Parameters:
fm pointer to function MemberAt

virtual Member Reflex::ScopeBase::AddFunctionMember ( const char *  name,
const Type type,
StubFunction  stubFP,
void *  stubCtx = 0,
const char *  params = 0,
unsigned int  modifiers = 0 
) const [virtual]

virtual void Reflex::ScopeBase::AddMemberTemplate ( const MemberTemplate mt  )  const [virtual]

virtual void Reflex::ScopeBase::AddSubScope ( const Scope sc  )  const [virtual]

AddSubScope will add a sub-At to this one

Parameters:
sc pointer to Scope

Referenced by Reflex::Scope::AddSubScope().

virtual void Reflex::ScopeBase::AddSubScope ( const char *  scope,
TYPE  scopeType 
) const [virtual]

virtual void Reflex::ScopeBase::AddSubType ( const Type ty  )  const [virtual]

AddSubType will add a sub-At to this At

Parameters:
sc pointer to Type

virtual void Reflex::ScopeBase::AddSubType ( const char *  type,
size_t  size,
TYPE  typeType,
const std::type_info &  ti,
unsigned int  modifiers = 0 
) const [virtual]

void Reflex::ScopeBase::AddSubTypeTemplate ( const TypeTemplate tt  )  const

void Reflex::ScopeBase::AddUsingDirective ( const Scope ud  )  const

Referenced by Reflex::Scope::AddUsingDirective().

virtual void Reflex::ScopeBase::RemoveDataMember ( const Member dm  )  const [virtual]

RemoveDataMember will remove the information about a data MemberAt

Parameters:
dm pointer to data MemberAt

virtual void Reflex::ScopeBase::RemoveFunctionMember ( const Member fm  )  const [virtual]

RemoveFunctionMember will remove the information about a function MemberAt

Parameters:
fm pointer to function MemberAt

virtual void Reflex::ScopeBase::RemoveMemberTemplate ( const MemberTemplate mt  )  const [virtual]

virtual void Reflex::ScopeBase::RemoveSubScope ( const Scope sc  )  const [virtual]

RemoveSubScope will remove a sub-At to this one

Parameters:
sc pointer to Scope

Referenced by Reflex::Scope::RemoveSubScope().

virtual void Reflex::ScopeBase::RemoveSubType ( const Type ty  )  const [virtual]

RemoveSubType will remove a sub-At to this At

Parameters:
sc pointer to Type

virtual void Reflex::ScopeBase::RemoveSubTypeTemplate ( const TypeTemplate tt  )  const [virtual]

void Reflex::ScopeBase::RemoveUsingDirective ( const Scope ud  )  const

Referenced by Reflex::Scope::RemoveUsingDirective().

virtual void Reflex::ScopeBase::HideName (  )  const [virtual]

Hide this scope from any lookup by appending the string " @HIDDEN@" to its name.

virtual void Reflex::ScopeBase::UnhideName (  )  const [virtual]

Un-Hide this scope from any lookup by removing the string " @HIDDEN@" to its name.

bool Reflex::ScopeBase::UpdateMembers (  )  const [inline, virtual]

Initialize the vector of inherited members. Returns false if one of the bases is not complete.

Definition at line 1059 of file ScopeBase.h.

void Reflex::ScopeBase::RegisterOnDemandBuilder ( OnDemandBuilder builder,
EBuilderKind  kind 
)

Member Reflex::ScopeBase::MemberByName2 ( const std::vector< Member > &  members,
const std::string name,
const Type signature = 0,
unsigned int  modifiers_mask = 0,
bool  matchReturnType = true 
) const [protected]

The MemberByName work-horse: find a member called name in members, if signature also compare its signature, and if matchReturnType also compare the signature's return types.

void Reflex::ScopeBase::ExecuteFunctionMemberDelayLoad (  )  const [inline, protected]

Definition at line 671 of file ScopeBase.h.

Referenced by FunctionMember_Begin(), FunctionMember_End(), FunctionMember_RBegin(), and FunctionMember_REnd().

void Reflex::ScopeBase::ExecuteDataMemberDelayLoad (  )  const [inline, protected]

Definition at line 676 of file ScopeBase.h.

Referenced by DataMember_Begin(), DataMember_End(), DataMember_RBegin(), and DataMember_REnd().

ScopeBase& Reflex::ScopeBase::operator= ( const ScopeBase  )  [private]


Member Data Documentation

std::vector<OwnedMember> Reflex::ScopeBase::fMembers [mutable, protected]

pointers to members scope members 0..* 1

Definition at line 701 of file ScopeBase.h.

std::vector<Member> Reflex::ScopeBase::fDataMembers [mutable, protected]

container with pointers to all data members in this scope scope datamembers 1 0..*

Definition at line 711 of file ScopeBase.h.

Referenced by DataMember_Begin(), DataMember_End(), DataMember_RBegin(), and DataMember_REnd().

std::vector<Member> Reflex::ScopeBase::fFunctionMembers [mutable, protected]

container with pointers to all function members in this scope scope functionmembers 0..* 1

Definition at line 721 of file ScopeBase.h.

Referenced by FunctionMember_Begin(), FunctionMember_End(), FunctionMember_RBegin(), and FunctionMember_REnd().

ScopeName* Reflex::ScopeBase::fScopeName [private]

pointer to the Scope Name scope name 1 1

Definition at line 731 of file ScopeBase.h.

TYPE Reflex::ScopeBase::fScopeType [private]

Type of the scope scope type 1 1

Definition at line 741 of file ScopeBase.h.

Referenced by IsClass(), IsEnum(), IsNamespace(), IsUnion(), and ScopeType().

Scope Reflex::ScopeBase::fDeclaringScope [private]

pointer to declaring Scope declaring scope 1 1

Definition at line 751 of file ScopeBase.h.

Referenced by DeclaringScope().

std::vector<Scope> Reflex::ScopeBase::fSubScopes [mutable, private]

pointers to sub-scopes sub scopes 0..* 1

Definition at line 762 of file ScopeBase.h.

Referenced by SubScope_Begin(), SubScope_End(), SubScope_RBegin(), SubScope_REnd(), SubScopeAt(), and SubScopeSize().

std::vector<Type> Reflex::ScopeBase::fSubTypes [mutable, private]

pointer to types sub types 0..* 1

Definition at line 773 of file ScopeBase.h.

Referenced by SubType_Begin(), SubType_End(), SubType_RBegin(), and SubType_REnd().

std::vector<TypeTemplate> Reflex::ScopeBase::fTypeTemplates [mutable, private]

container for type templates defined in this scope type templates 0..* 1

Definition at line 784 of file ScopeBase.h.

Referenced by SubTypeTemplate_Begin(), SubTypeTemplate_End(), SubTypeTemplate_RBegin(), and SubTypeTemplate_REnd().

std::vector<OwnedMemberTemplate> Reflex::ScopeBase::fMemberTemplates [mutable, private]

container for member templates defined in this scope member templates 0..* 1

Definition at line 795 of file ScopeBase.h.

std::vector<Scope> Reflex::ScopeBase::fUsingDirectives [mutable, private]

container for using directives of this scope using directives aggregation 0..* 1

Definition at line 806 of file ScopeBase.h.

Referenced by UsingDirective_Begin(), UsingDirective_End(), UsingDirective_RBegin(), UsingDirective_REnd(), UsingDirectiveAt(), and UsingDirectiveSize().

size_t Reflex::ScopeBase::fBasePosition [private]

The position where the unscoped Name starts in the scopename

Definition at line 812 of file ScopeBase.h.

Referenced by GetBasePosition().

BuilderContainer Reflex::ScopeBase::fOnDemandBuilder[kNumBuilderKinds] [mutable, private]

Containers for on-demand builders of function and data members.

Definition at line 818 of file ScopeBase.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