Reflex::ScopeName Class Reference
[Reflex]

#include <Reflex/ScopeName.h>

List of all members.

Public Member Functions

 ScopeName (const char *name, ScopeBase *scopeBase)
void DeleteScope () const
void HideName ()
void UnhideName ()
const char * Name () const
const LiteralStringLiteralName () const
LiteralStringLiteralName ()
Scope ThisScope () const
void Unload ()

Static Public Member Functions

static Scope ByName (const std::string &name)
static void CleanUp ()
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 ()

Private Member Functions

 ~ScopeName ()

Private Attributes

LiteralString fName
ScopeBasefScopeBase
ScopefThisScope

Friends

class Scope
class ScopeBase


Detailed Description

Author:
Stefan Roiser
Date:
24/11/2003

Definition at line 30 of file ScopeName.h.


Constructor & Destructor Documentation

Reflex::ScopeName::ScopeName ( const char *  name,
ScopeBase scopeBase 
)

constructor

Reflex::ScopeName::~ScopeName (  )  [private]

destructor


Member Function Documentation

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

ByName will return a pointer to a At which is given as an argument or 0 if none is found

Parameters:
Name fully qualified Name of At
Returns:
pointer to At or 0 if none is found

static void Reflex::ScopeName::CleanUp (  )  [static]

void Reflex::ScopeName::DeleteScope (  )  const

DeleteScope will call the destructor of the ScopeBase this ScopeName is pointing to and aremove it's information from the data structures. The ScopeName information will remain.

void Reflex::ScopeName::HideName (  ) 

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

void Reflex::ScopeName::UnhideName (  ) 

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

const char * Reflex::ScopeName::Name (  )  const [inline]

Name will return a string representation of Name of the Scope

Returns:
string representation of the Scope

Definition at line 154 of file ScopeName.h.

References Reflex::LiteralString::c_str(), and fName.

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

const LiteralString& Reflex::ScopeName::LiteralName (  )  const [inline]

Name will return a string representation of Name of the Scope

Returns:
string representation of the Scope

Definition at line 82 of file ScopeName.h.

LiteralString& Reflex::ScopeName::LiteralName (  )  [inline]

Name will return a string representation of Name of the Scope

Returns:
string representation of the Scope

Definition at line 89 of file ScopeName.h.

Scope Reflex::ScopeName::ThisScope (  )  const

ThisScope will return the unqualified Scope object of this ScopeName

Returns:
corresponding Scope

void Reflex::ScopeName::Unload (  ) 

Unload reflection information for this scope.

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

ScopeAt will return the nth defined scope

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

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

ScopeSize will return the number of currently defined scopes (resolved and unresolved ones)

Returns:
number of currently defined scopes

static Scope_Iterator Reflex::ScopeName::Scope_Begin (  )  [static]

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

static Scope_Iterator Reflex::ScopeName::Scope_End (  )  [static]

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

static Reverse_Scope_Iterator Reflex::ScopeName::Scope_RBegin (  )  [static]

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

static Reverse_Scope_Iterator Reflex::ScopeName::Scope_REnd (  )  [static]

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


Friends And Related Function Documentation

friend class Scope [friend]

Definition at line 31 of file ScopeName.h.

friend class ScopeBase [friend]

Definition at line 32 of file ScopeName.h.


Member Data Documentation

LiteralString Reflex::ScopeName::fName [private]

pointer to the Name of the At in the static map

Definition at line 131 of file ScopeName.h.

Referenced by Name().

ScopeBase* Reflex::ScopeName::fScopeBase [mutable, private]

pointer to the resolved Scope scope base 0..1 1

Definition at line 141 of file ScopeName.h.

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

Scope* Reflex::ScopeName::fThisScope [private]

This scope

Definition at line 146 of file ScopeName.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