Reflex::Scope Class Reference
[Reflex]

#include <Reflex/Scope.h>

List of all members.

Public Member Functions

 Scope (const ScopeName *scopeName=0)
 Scope (const Scope &rh)
 ~Scope ()
bool operator!= (const Scope &rh) const
 operator bool () const
 operator Type () const
Base BaseAt (size_t nth) const
size_t BaseSize () const
Base_Iterator Base_Begin () const
Base_Iterator Base_End () const
Reverse_Base_Iterator Base_RBegin () const
Reverse_Base_Iterator Base_REnd () const
Member DataMemberAt (size_t nth, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Member DataMemberByName (const std::string &name, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
size_t DataMemberSize (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Member_Iterator DataMember_Begin (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Member_Iterator DataMember_End (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Reverse_Member_Iterator DataMember_RBegin (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Reverse_Member_Iterator DataMember_REnd (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Scope DeclaringScope () const
Member FunctionMemberAt (size_t nth, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Member FunctionMemberByName (const std::string &name, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT, EDELAYEDLOADSETTING allowDelayedLoad=DELAYEDLOAD_ON) const
Member FunctionMemberByName (const std::string &name, const Type &signature, unsigned int modifers_mask=0, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT, EDELAYEDLOADSETTING allowDelayedLoad=DELAYEDLOAD_ON) const
Member FunctionMemberByNameAndSignature (const std::string &name, const Type &signature, unsigned int modifers_mask=0, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT, EDELAYEDLOADSETTING allowDelayedLoad=DELAYEDLOAD_ON) const
size_t FunctionMemberSize (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Member_Iterator FunctionMember_Begin (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Member_Iterator FunctionMember_End (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Reverse_Member_Iterator FunctionMember_RBegin (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Reverse_Member_Iterator FunctionMember_REnd (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
void GenerateDict (DictionaryGenerator &generator) const
bool HasBase (const Type &cl) const
void * Id () const
bool IsClass () const
bool IsEnum () const
bool IsNamespace () const
bool IsPrivate () const
bool IsProtected () const
bool IsPublic () const
bool IsTemplateInstance () const
bool IsTopScope () const
bool IsUnion () const
Member LookupMember (const std::string &nam) const
Type LookupType (const std::string &nam) const
Scope LookupScope (const std::string &nam) const
Member MemberAt (size_t nth, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Member MemberByName (const std::string &name, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Member MemberByName (const std::string &name, const Type &signature, EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
size_t MemberSize (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Member_Iterator Member_Begin (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Member_Iterator Member_End (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Reverse_Member_Iterator Member_RBegin (EMEMBERQUERY inh=INHERITEDMEMBERS_DEFAULT) const
Reverse_Member_Iterator Member_REnd (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
std::string Name (unsigned int mod=0) const
const char * Name_c_str () const
PropertyList Properties () 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
Type TemplateArgumentAt (size_t nth) const
size_t TemplateArgumentSize () const
Type_Iterator TemplateArgument_Begin () const
Type_Iterator TemplateArgument_End () const
Reverse_Type_Iterator TemplateArgument_RBegin () const
Reverse_Type_Iterator TemplateArgument_REnd () const
TypeTemplate TemplateFamily () const
void Unload () const
void UpdateMembers () 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
void AddBase (const Type &bas, OffsetFunction offsFP, unsigned int modifiers=0) const
void AddBase (const Base &b) const
void AddDataMember (const Member &dm) const
Member AddDataMember (const char *name, const Type &type, size_t offset, unsigned int modifiers=0, char *interpreterOffset=0) const
void AddFunctionMember (const Member &fm) const
Member AddFunctionMember (const char *name, const Type &type, StubFunction stubFP, void *stubCtx=0, const char *params=0, unsigned int modifiers=0) const
void AddMemberTemplate (const MemberTemplate &mt) const
void AddSubScope (const Scope &sc) const
void AddSubScope (const char *scope, TYPE scopeType=NAMESPACE) const
void AddSubType (const Type &ty) const
void AddSubType (const char *type, size_t size, TYPE typeType, const std::type_info &typeInfo, unsigned int modifiers=0) const
void AddSubTypeTemplate (const TypeTemplate &mt) const
void AddUsingDirective (const Scope &ud) const
void RemoveDataMember (const Member &dm) const
void RemoveFunctionMember (const Member &fm) const
void RemoveMemberTemplate (const MemberTemplate &mt) const
void RemoveSubScope (const Scope &sc) const
void RemoveSubType (const Type &ty) const
void RemoveSubTypeTemplate (const TypeTemplate &tt) const
void RemoveUsingDirective (const Scope &ud) const
const ScopeBaseToScopeBase () const

Static Public Member Functions

static Scope ByName (const std::string &name)
static Scope GlobalScope ()
static Scope ScopeAt (size_t nth)
static size_t ScopeSize ()
static Scope_Iterator Scope_Begin ()
static Scope_Iterator Scope_End ()
static Reverse_Scope_Iterator Scope_RBegin ()
static Reverse_Scope_Iterator Scope_REnd ()
static Scope__NIRVANA__ ()

Private Attributes

const ScopeNamefScopeName


Detailed Description

Author:
Stefan Roiser
Date:
24/11/2003

Definition at line 39 of file Scope.h.


Constructor & Destructor Documentation

Reflex::Scope::Scope ( const ScopeName scopeName = 0  )  [inline]

constructor

Definition at line 1103 of file Scope.h.

Reflex::Scope::Scope ( const Scope rh  )  [inline]

copy constructor

Definition at line 1110 of file Scope.h.

Reflex::Scope::~Scope (  )  [inline]

destructor

Definition at line 1117 of file Scope.h.


Member Function Documentation

bool Reflex::Scope::operator!= ( const Scope rh  )  const [inline]

inequal operator

Definition at line 1078 of file Scope.h.

References fScopeName.

Reflex::Scope::operator bool (  )  const [inline]

the bool operator will return true if the Scope is resolved (implemented)

Returns:
true if Scope is implemented

Definition at line 1124 of file Scope.h.

Reflex::Scope::operator Type (  )  const

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

Base Reflex::Scope::BaseAt ( size_t  nth  )  const

BaseAt will return the nth base class information

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

size_t Reflex::Scope::BaseSize (  )  const

BaseSize will return the number of base classes

Returns:
number of base classes

Reflex::Base_Iterator Reflex::Scope::Base_Begin (  )  const [inline]

Base_Begin returns the begin of the container of bases

Returns:
begin of container of bases

Definition at line 1136 of file Scope.h.

References Reflex::ScopeBase::Base_Begin(), Reflex::Dummy::BaseCont(), Reflex::ScopeName::fScopeBase, and fScopeName.

Reflex::Base_Iterator Reflex::Scope::Base_End (  )  const [inline]

Base_End returns the end of the container of bases

Returns:
end of container of bases

Definition at line 1147 of file Scope.h.

References Reflex::ScopeBase::Base_End(), Reflex::Dummy::BaseCont(), Reflex::ScopeName::fScopeBase, and fScopeName.

Reflex::Reverse_Base_Iterator Reflex::Scope::Base_RBegin (  )  const [inline]

Base_RBegin returns the reverse begin of the container of bases

Returns:
reverse begin of container of bases

Definition at line 1158 of file Scope.h.

References Reflex::ScopeBase::Base_RBegin(), Reflex::Dummy::BaseCont(), Reflex::ScopeName::fScopeBase, and fScopeName.

Reflex::Reverse_Base_Iterator Reflex::Scope::Base_REnd (  )  const [inline]

Base_REnd returns the reverse end of the container of bases

Returns:
reverse end of container of bases

Definition at line 1169 of file Scope.h.

References Reflex::ScopeBase::Base_REnd(), Reflex::Dummy::BaseCont(), Reflex::ScopeName::fScopeBase, and fScopeName.

static Scope Reflex::Scope::ByName ( const std::string name  )  [static]

ByName will return reflection information of the scope passed as argument

Parameters:
name fully qualified name of the scope
Returns:
reflection information of the scope

Member Reflex::Scope::DataMemberAt ( size_t  nth,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT 
) const

DataMemberAt will return the nth data member of the type

Parameters:
nth the nth data member
Returns:
nth data member

Member Reflex::Scope::DataMemberByName ( const std::string name,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT 
) const

DataMemberByName will lookup a data member by name

Parameters:
name of data member
Returns:
data member

size_t Reflex::Scope::DataMemberSize ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const

DataMemberSize will return the number of data members of this type

Returns:
number of data members

Reflex::Member_Iterator Reflex::Scope::DataMember_Begin ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline]

Member_Begin returns the begin of the container of members

Returns:
begin of container of members

Definition at line 1180 of file Scope.h.

References Reflex::ScopeBase::DataMember_Begin(), Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::Dummy::MemberCont().

Reflex::Member_Iterator Reflex::Scope::DataMember_End ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline]

Member_End returns the end of the container of members

Returns:
end of container of members

Definition at line 1191 of file Scope.h.

References Reflex::ScopeBase::DataMember_End(), Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::Dummy::MemberCont().

Reflex::Reverse_Member_Iterator Reflex::Scope::DataMember_RBegin ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline]

Member_RBegin returns the reverse begin of the container of members

Returns:
reverse begin of container of members

Definition at line 1202 of file Scope.h.

References Reflex::ScopeBase::DataMember_RBegin(), Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::Dummy::MemberCont().

Reflex::Reverse_Member_Iterator Reflex::Scope::DataMember_REnd ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline]

Member_REnd returns the reverse end of the container of members

Returns:
reverse end of container of members

Definition at line 1213 of file Scope.h.

References Reflex::ScopeBase::DataMember_REnd(), Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::Dummy::MemberCont().

Reflex::Scope Reflex::Scope::DeclaringScope (  )  const [inline]

DeclaringScope will return the declaring socpe of this type

Returns:
declaring scope of this type

Definition at line 1224 of file Scope.h.

References Reflex::ScopeBase::DeclaringScope(), Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::Dummy::Scope().

Member Reflex::Scope::FunctionMemberAt ( size_t  nth,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT 
) const

FunctionMemberAt will return the nth function member of the type

Parameters:
nth function member
Returns:
reflection information of nth function member

Member Reflex::Scope::FunctionMemberByName ( const std::string name,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT,
EDELAYEDLOADSETTING  allowDelayedLoad = DELAYEDLOAD_ON 
) const

FunctionMemberByName will return the member with the name, optionally the signature of the function may be given as a type

Parameters:
name of function member
Returns:
reflection information of the function member

Member Reflex::Scope::FunctionMemberByName ( const std::string name,
const Type signature,
unsigned int  modifers_mask = 0,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT,
EDELAYEDLOADSETTING  allowDelayedLoad = DELAYEDLOAD_ON 
) const

FunctionMemberByName will return the member with the name, optionally the signature of the function may be given as a type

Parameters:
name of function member
signature of the member function When matching, do not compare the listed modifiers
Returns:
reflection information of the function member

Member Reflex::Scope::FunctionMemberByNameAndSignature ( const std::string name,
const Type signature,
unsigned int  modifers_mask = 0,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT,
EDELAYEDLOADSETTING  allowDelayedLoad = DELAYEDLOAD_ON 
) const

FunctionMemberByNameAndSignature will return the member with the name, optionally the signature of the function may be given as a type

Parameters:
name of function member
signature of the member function When matching, do not compare the listed modifiers
Returns:
reflection information of the function member

size_t Reflex::Scope::FunctionMemberSize ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const

FunctionMemberSize will return the number of function members of this type

Returns:
number of function members

Reflex::Member_Iterator Reflex::Scope::FunctionMember_Begin ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline]

FunctionMember_Begin returns the begin of the container of function members

Returns:
begin of container of function members

Definition at line 1235 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::FunctionMember_Begin(), and Reflex::Dummy::MemberCont().

Reflex::Member_Iterator Reflex::Scope::FunctionMember_End ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline]

FunctionMember_End returns the end of the container of function members

Returns:
end of container of function members

Definition at line 1246 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::FunctionMember_End(), and Reflex::Dummy::MemberCont().

Reflex::Reverse_Member_Iterator Reflex::Scope::FunctionMember_RBegin ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline]

FunctionMember_RBegin returns the reverse begin of the container of function members

Returns:
reverse begin of container of function members

Definition at line 1257 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::FunctionMember_RBegin(), and Reflex::Dummy::MemberCont().

Reflex::Reverse_Member_Iterator Reflex::Scope::FunctionMember_REnd ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline]

FunctionMember_RBegin returns the reverse begin of the container of function members

Returns:
reverse begin of container of function members

Definition at line 1268 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::FunctionMember_REnd(), and Reflex::Dummy::MemberCont().

void Reflex::Scope::GenerateDict ( DictionaryGenerator &  generator  )  const

GenerateDict will produce the dictionary information of this type

Parameters:
generator a reference to the dictionary generator instance

Reflex::Scope Reflex::Scope::GlobalScope (  )  [inline, static]

GlobalScope will return the global scope representation\

Returns:
global scope

Definition at line 1279 of file Scope.h.

References Reflex::ScopeBase::GlobalScope().

bool Reflex::Scope::HasBase ( const Type cl  )  const

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)

void * Reflex::Scope::Id (  )  const [inline]

Id returns a unique identifier of the type in the system

Returns:
unique identifier

Definition at line 1287 of file Scope.h.

References fScopeName.

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

IsClass returns true if the type represents a class

Returns:
true if type represents a class

Definition at line 1295 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::IsClass().

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

IsEnum returns true if the type represents a enum

Returns:
true if type represents a enum

Definition at line 1306 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::IsEnum().

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

IsNamespace returns true if the scope represents a namespace

Returns:
true if scope represents a namespace

Definition at line 1317 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::IsNamespace().

bool Reflex::Scope::IsPrivate (  )  const

IsPrivate will check if the scope access is private

Returns:
true if scope access is private

bool Reflex::Scope::IsProtected (  )  const

IsProtected will check if the scope access is protected

Returns:
true if scope access is protected

bool Reflex::Scope::IsPublic (  )  const

IsPublic will check if the scope access is public

Returns:
true if scope access is public

bool Reflex::Scope::IsTemplateInstance (  )  const [inline]

IsTemplateInstance will return true if the the class is templated

Returns:
true if the class is templated

Definition at line 1328 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::IsTemplateInstance().

bool Reflex::Scope::IsTopScope (  )  const [inline]

IsTopScope returns true if this scope is the top scope

Returns:
true if this scope is the top scope

Definition at line 1339 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::IsTopScope().

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

IsUnion returns true if the type represents a union

Returns:
true if type represents a union

Definition at line 1350 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::IsUnion().

Member Reflex::Scope::LookupMember ( const std::string nam  )  const

LookupMember will lookup a member in the current scope

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

Type Reflex::Scope::LookupType ( const std::string nam  )  const

LookupType will lookup a type in the current scope

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

Scope Reflex::Scope::LookupScope ( const std::string nam  )  const

LookupScope will lookup a scope in the current scope

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

Member Reflex::Scope::MemberAt ( size_t  nth,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT 
) const

MemberAt will return the nth member of the type

Parameters:
nth member
Returns:
reflection information nth member

Member Reflex::Scope::MemberByName ( const std::string name,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT 
) const

MemberByName will return the first member with a given Name

Parameters:
member name
Returns:
reflection information of the member

Member Reflex::Scope::MemberByName ( const std::string name,
const Type signature,
EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT 
) const

MemberByName will return the first member with a given Name

Parameters:
member name
signature of the (function) member
Returns:
reflection information of the member

size_t Reflex::Scope::MemberSize ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const [inline]

MemberSize will return the number of members

Returns:
number of members

Definition at line 1361 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::MemberSize().

Member_Iterator Reflex::Scope::Member_Begin ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const

Member_Begin returns the begin of the container of members

Returns:
begin of container of members

Member_Iterator Reflex::Scope::Member_End ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const

Member_End returns the end of the container of members

Returns:
end of container of members

Reverse_Member_Iterator Reflex::Scope::Member_RBegin ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const

Member_RBegin returns the reverse begin of the container of members

Returns:
reverse begin of container of members

Reverse_Member_Iterator Reflex::Scope::Member_REnd ( EMEMBERQUERY  inh = INHERITEDMEMBERS_DEFAULT  )  const

Member_REnd returns the reverse end of the container of members

Returns:
reverse end of container of members

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

MemberTemplateAt will return the nth member template of this type

Parameters:
nth member template
Returns:
nth member template

size_t Reflex::Scope::MemberTemplateSize (  )  const

MemberTemplateSize will return the number of member templates in this scope

Returns:
number of defined member templates

MemberTemplate Reflex::Scope::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

Reflex::MemberTemplate_Iterator Reflex::Scope::MemberTemplate_Begin (  )  const [inline]

MemberTemplate_Begin returns the begin of the container of member templates

Returns:
begin of container of member templates

Definition at line 1372 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::MemberTemplate_Begin(), and Reflex::Dummy::MemberTemplateCont().

Reflex::MemberTemplate_Iterator Reflex::Scope::MemberTemplate_End (  )  const [inline]

MemberTemplate_End returns the end of the container of member templates

Returns:
end of container of member templates

Definition at line 1383 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::MemberTemplate_End(), and Reflex::Dummy::MemberTemplateCont().

Reflex::Reverse_MemberTemplate_Iterator Reflex::Scope::MemberTemplate_RBegin (  )  const [inline]

MemberTemplate_End returns the end of the container of member templates

Returns:
end of container of member templates

Definition at line 1394 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::MemberTemplate_RBegin(), and Reflex::Dummy::MemberTemplateCont().

Reflex::Reverse_MemberTemplate_Iterator Reflex::Scope::MemberTemplate_REnd (  )  const [inline]

MemberTemplate_REnd returns the reverse end of the container of member templates

Returns:
reverse end of container of member templates

Definition at line 1405 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::MemberTemplate_REnd(), and Reflex::Dummy::MemberTemplateCont().

std::string Reflex::Scope::Name ( unsigned int  mod = 0  )  const

Name returns the name of the type

Parameters:
mod qualifiers can be or'ed FINAL - resolve typedefs SCOPED - fully scoped name QUALIFIED - cv, reference qualification
Returns:
name of the type

const char * Reflex::Scope::Name_c_str (  )  const [inline]

Name_c_str returns a char* pointer to the qualified type name

Returns:
c string to unqualified type name

Definition at line 1416 of file Scope.h.

References fScopeName, and Reflex::ScopeName::Name().

Reflex::PropertyList Reflex::Scope::Properties (  )  const [inline]

Properties will return a PropertyList attached to this item

Returns:
PropertyList of this type

Definition at line 1427 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::Properties(), and Reflex::Dummy::PropertyList().

static Scope Reflex::Scope::ScopeAt ( size_t  nth  )  [static]

ScopeAt will return the nth scope defined in the system

Parameters:
nth scope defined in the system
Returns:
nth scope defined in the system

static size_t Reflex::Scope::ScopeSize (  )  [static]

ScopeSize will return the number of currently defined scopes

Returns:
number of currently defined scopes

Reflex::Scope_Iterator Reflex::Scope::Scope_Begin (  )  [inline, static]

Scope_Begin returns the begin of the container of scopes defined in the systems

Returns:
begin of container of scopes defined in the systems

Definition at line 1460 of file Scope.h.

References Reflex::ScopeName::Scope_Begin().

Reflex::Scope_Iterator Reflex::Scope::Scope_End (  )  [inline, static]

Scope_End returns the end of the container of scopes defined in the systems

Returns:
end of container of scopes defined in the systems

Definition at line 1468 of file Scope.h.

References Reflex::ScopeName::Scope_End().

Reflex::Reverse_Scope_Iterator Reflex::Scope::Scope_RBegin (  )  [inline, static]

Scope_RBegin returns the reverse begin of the container of scopes defined in the systems

Returns:
reverse begin of container of scopes defined in the systems

Definition at line 1476 of file Scope.h.

References Reflex::ScopeName::Scope_RBegin().

Reflex::Reverse_Scope_Iterator Reflex::Scope::Scope_REnd (  )  [inline, static]

Scope_REnd returns the reverse end of the container of scopes defined in the systems

Returns:
reverse end of container of scopes defined in the systems

Definition at line 1484 of file Scope.h.

References Reflex::ScopeName::Scope_REnd().

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

ScopeType will return the enum information about this scope

Returns:
enum information of this scope

Definition at line 1438 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::ScopeType(), and Reflex::UNRESOLVED.

std::string Reflex::Scope::ScopeTypeAsString (  )  const [inline]

ScopeTypeAsString will return the string representation of the ENUM representing the real type of the scope (e.g. "CLASS")

Returns:
string representation of the TYPE enum of the scope

Definition at line 1449 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::ScopeTypeAsString().

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

SubScopeAt will return a pointer to a sub scopes

Parameters:
nth sub scope
Returns:
reflection information of nth sub scope

Definition at line 1492 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::Dummy::Scope(), and Reflex::ScopeBase::SubScopeAt().

size_t Reflex::Scope::SubScopeLevel (  )  const [inline]

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

Returns:
number of declaring scopes above this scope.

Definition at line 1503 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::SubScopeLevel().

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

SubScopeSize will return the number of sub scopes

Returns:
number of sub scopes

Definition at line 1514 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::SubScopeSize().

Reflex::Scope Reflex::Scope::SubScopeByName ( const std::string nam  )  const [inline]

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

Definition at line 1525 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::Dummy::Scope(), and Reflex::ScopeBase::SubScopeByName().

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

SubScope_Begin returns the begin of the container of sub scopes

Returns:
begin of container of sub scopes

Definition at line 1536 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::Dummy::ScopeCont(), and Reflex::ScopeBase::SubScope_Begin().

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

SubScope_End returns the end of the container of sub scopes

Returns:
end of container of sub scopes

Definition at line 1547 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::Dummy::ScopeCont(), and Reflex::ScopeBase::SubScope_End().

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

SubScope_RBegin returns the reverse begin of the container of sub scopes

Returns:
reverse begin of container of sub scopes

Definition at line 1558 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::Dummy::ScopeCont(), and Reflex::ScopeBase::SubScope_RBegin().

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

SubScope_REnd returns the reverse end of the container of sub scopes

Returns:
reverse end of container of sub scopes

Definition at line 1569 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::Dummy::ScopeCont(), and Reflex::ScopeBase::SubScope_REnd().

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

SubTypeAt will return the nth sub type

Parameters:
nth sub type
Returns:
reflection information of nth sub type

size_t Reflex::Scope::SubTypeSize (  )  const

SubTypeSize will return he number of sub types

Returns:
number of sub types

Type Reflex::Scope::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::Scope::SubType_Begin (  )  const [inline]

SubType_Begin returns the begin of the container of sub types

Returns:
begin of container of sub types

Definition at line 1580 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::SubType_Begin(), and Reflex::Dummy::TypeCont().

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

SubType_End returns the end of the container of sub types

Returns:
end of container of sub types

Definition at line 1591 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::SubType_End(), and Reflex::Dummy::TypeCont().

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

SubType_RBegin returns the reverse begin of the container of sub types

Returns:
reverse begin of container of sub types

Definition at line 1602 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::SubType_RBegin(), and Reflex::Dummy::TypeCont().

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

SubType_REnd returns the reverse end of the container of sub types

Returns:
reverse end of container of sub types

Definition at line 1613 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::SubType_REnd(), and Reflex::Dummy::TypeCont().

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

SubTypeTemplateAt will return the nth type template of this type

Parameters:
nth type template
Returns:
nth type template

size_t Reflex::Scope::SubTypeTemplateSize (  )  const

SubTypeTemplateSize will return the number of type templates in this scope

Returns:
number of defined type templates

TypeTemplate Reflex::Scope::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::Scope::SubTypeTemplate_Begin (  )  const [inline]

SubTypeTemplate_Begin returns the begin of the container of sub type templates

Returns:
begin of container of sub type templates

Definition at line 1635 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::SubTypeTemplate_Begin(), and Reflex::Dummy::TypeTemplateCont().

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

SubTypeTemplate_End returns the end of the container of sub type templates

Returns:
end of container of sub type templates

Definition at line 1646 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::SubTypeTemplate_End(), and Reflex::Dummy::TypeTemplateCont().

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

SubTypeTemplate_RBegin returns the reverse begin of the container of sub type templates

Returns:
reverse begin of container of sub type templates

Definition at line 1657 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::SubTypeTemplate_RBegin(), and Reflex::Dummy::TypeTemplateCont().

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

SubTypeTemplate_REnd returns the reverse end of the container of sub type templates

Returns:
reverse end of container of sub type templates

Definition at line 1668 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::ScopeBase::SubTypeTemplate_REnd(), and Reflex::Dummy::TypeTemplateCont().

Type Reflex::Scope::TemplateArgumentAt ( size_t  nth  )  const

TemplateArgumentAt will return a pointer to the nth template argument

Parameters:
nth nth template argument
Returns:
reflection information of nth template argument

size_t Reflex::Scope::TemplateArgumentSize (  )  const

TemplateArgumentSize will return the number of template arguments

Returns:
number of template arguments

Type_Iterator Reflex::Scope::TemplateArgument_Begin (  )  const

TemplateArgument_Begin returns the begin of the container of template arguments

Returns:
begin of container of template arguments

Type_Iterator Reflex::Scope::TemplateArgument_End (  )  const

TemplateArgument_End returns the end of the container of template arguments

Returns:
end of container of template arguments

Reverse_Type_Iterator Reflex::Scope::TemplateArgument_RBegin (  )  const

TemplateArgument_RBegin returns the reverse begin of the container of template arguments

Returns:
reverse begin of container of template arguments

Reverse_Type_Iterator Reflex::Scope::TemplateArgument_REnd (  )  const

TemplateArgument_REnd returns the reverse end of the container of template arguments

Returns:
reverse end of container of template arguments

TypeTemplate Reflex::Scope::TemplateFamily (  )  const

TemplateFamily returns the corresponding TypeTemplate if any

Returns:
corresponding TypeTemplate

void Reflex::Scope::Unload (  )  const

Unload will unload the dictionary information of a scope

void Reflex::Scope::UpdateMembers (  )  const

UpdateMembers will update the list of Function/Data/Members with all members of base classes currently availabe in the system, switching INHERITEDMEMBERS_DEFAULT to INHERITEDMEMBERS_ALSO.

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

UsingDirectiveAt will return the nth using directive

Parameters:
nth using directive
Returns:
nth using directive

Definition at line 1679 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::Dummy::Scope(), and Reflex::ScopeBase::UsingDirectiveAt().

size_t Reflex::Scope::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 1690 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::UsingDirectiveSize().

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

Definition at line 1701 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::Dummy::ScopeCont(), and Reflex::ScopeBase::UsingDirective_Begin().

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

Definition at line 1712 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::Dummy::ScopeCont(), and Reflex::ScopeBase::UsingDirective_End().

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

Definition at line 1723 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::Dummy::ScopeCont(), and Reflex::ScopeBase::UsingDirective_RBegin().

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

Definition at line 1734 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, Reflex::Dummy::ScopeCont(), and Reflex::ScopeBase::UsingDirective_REnd().

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

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

Definition at line 1745 of file Scope.h.

References Reflex::ScopeBase::AddBase(), Reflex::ScopeName::fScopeBase, and fScopeName.

void Reflex::Scope::AddBase ( const Base b  )  const [inline]

AddBase will add the information about a Base class

Parameters:
b pointer to the base class

Definition at line 1757 of file Scope.h.

References Reflex::ScopeBase::AddBase(), b, Reflex::ScopeName::fScopeBase, and fScopeName.

void Reflex::Scope::AddDataMember ( const Member dm  )  const

AddDataMember will add the information about a data member

Parameters:
dm data member to add

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

AddDataMember will add the information about a data member

Parameters:
nam the name of the data member
typ the type of the data member
offs the offset of the data member relative to the beginning of the scope
modifiers of the data member

void Reflex::Scope::AddFunctionMember ( const Member fm  )  const

AddFunctionMember will add the information about a function member

Parameters:
fm function member to add

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

AddFunctionMember will add the information about a function member

Parameters:
nam the name of the function member
typ the type of the function member
stubFP a pointer to the stub function
stubCtx a pointer to the context of the function member
params a semi colon separated list of parameters
modifiers of the function member

void Reflex::Scope::AddMemberTemplate ( const MemberTemplate mt  )  const

AddMemberTemplate will add a member template to this scope

Parameters:
mt member template to add

void Reflex::Scope::AddSubScope ( const Scope sc  )  const [inline]

AddSubScope will add a sub scope to this one

Parameters:
sc sub scope to add

Definition at line 1767 of file Scope.h.

References Reflex::ScopeBase::AddSubScope(), Reflex::ScopeName::fScopeBase, and fScopeName.

void Reflex::Scope::AddSubScope ( const char *  scope,
TYPE  scopeType = NAMESPACE 
) const [inline]

AddSubScope will add a sub scope to this one

Parameters:
scop the name of the sub scope
scopeType enum value of the scope type

Definition at line 1777 of file Scope.h.

References Reflex::ScopeBase::AddSubScope(), Reflex::ScopeName::fScopeBase, and fScopeName.

void Reflex::Scope::AddSubType ( const Type ty  )  const

AddSubType will add a sub type to this type

Parameters:
ty sub type to add

void Reflex::Scope::AddSubType ( const char *  type,
size_t  size,
TYPE  typeType,
const std::type_info &  typeInfo,
unsigned int  modifiers = 0 
) const

AddSubType will add a sub type to this type

Parameters:
typ the name of the sub type
size the sizeof of the sub type
typeType the enum specifying the sub type
ti the type_info of the sub type
modifiers of the sub type

void Reflex::Scope::AddSubTypeTemplate ( const TypeTemplate mt  )  const

AddTypeTemplate will add a sub type template to this scope

Parameters:
tt type template to add

void Reflex::Scope::AddUsingDirective ( const Scope ud  )  const [inline]

AddUsingDirective will add a using namespace directive to this scope

Parameters:
ud using directive to add

Definition at line 1798 of file Scope.h.

References Reflex::ScopeBase::AddUsingDirective(), Reflex::ScopeName::fScopeBase, and fScopeName.

void Reflex::Scope::RemoveDataMember ( const Member dm  )  const

RemoveDataMember will remove the information about a data member

Parameters:
dm data member to remove

void Reflex::Scope::RemoveFunctionMember ( const Member fm  )  const

RemoveFunctionMember will remove the information about a function member

Parameters:
fm function member to remove

void Reflex::Scope::RemoveMemberTemplate ( const MemberTemplate mt  )  const

RemoveMemberTemplate will remove a member template from this scope

Parameters:
mt member template to remove

void Reflex::Scope::RemoveSubScope ( const Scope sc  )  const [inline]

RemoveSubScope will remove a sub scope from this type

Parameters:
sc sub scope to remove

Definition at line 1788 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::RemoveSubScope().

void Reflex::Scope::RemoveSubType ( const Type ty  )  const

RemoveSubType will remove a sub type from this type

Parameters:
sc sub type to remove

void Reflex::Scope::RemoveSubTypeTemplate ( const TypeTemplate tt  )  const

RemoveSubTypeTemplate will remove a sub type template from this scope

Parameters:
tt sub type template to remove

void Reflex::Scope::RemoveUsingDirective ( const Scope ud  )  const [inline]

RemoveUsingDirective will remove a using namespace directive from this scope

Parameters:
ud using namespace directive to remove

Definition at line 1808 of file Scope.h.

References Reflex::ScopeName::fScopeBase, fScopeName, and Reflex::ScopeBase::RemoveUsingDirective().

const Reflex::ScopeBase * Reflex::Scope::ToScopeBase (  )  const [inline]

Definition at line 1624 of file Scope.h.

References Reflex::ScopeName::fScopeBase, and fScopeName.

static Scope& Reflex::Scope::__NIRVANA__ (  )  [static]

__NIRVANA__ association


Member Data Documentation

const ScopeName* Reflex::Scope::fScopeName [private]

pointer to the resolved scope scope name 1 1

Definition at line 1059 of file Scope.h.

Referenced by AddBase(), AddSubScope(), AddUsingDirective(), Base_Begin(), Base_End(), Base_RBegin(), Base_REnd(), DataMember_Begin(), DataMember_End(), DataMember_RBegin(), DataMember_REnd(), DeclaringScope(), FunctionMember_Begin(), FunctionMember_End(), FunctionMember_RBegin(), FunctionMember_REnd(), Id(), IsClass(), IsEnum(), IsNamespace(), IsTemplateInstance(), IsTopScope(), IsUnion(), MemberSize(), MemberTemplate_Begin(), MemberTemplate_End(), MemberTemplate_RBegin(), MemberTemplate_REnd(), Name_c_str(), operator!=(), Properties(), RemoveSubScope(), RemoveUsingDirective(), ScopeType(), ScopeTypeAsString(), SubScope_Begin(), SubScope_End(), SubScope_RBegin(), SubScope_REnd(), SubScopeAt(), SubScopeByName(), SubScopeLevel(), SubScopeSize(), SubType_Begin(), SubType_End(), SubType_RBegin(), SubType_REnd(), SubTypeTemplate_Begin(), SubTypeTemplate_End(), SubTypeTemplate_RBegin(), SubTypeTemplate_REnd(), ToScopeBase(), UsingDirective_Begin(), UsingDirective_End(), UsingDirective_RBegin(), UsingDirective_REnd(), UsingDirectiveAt(), and UsingDirectiveSize().


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