Reflex::MemberTemplate Class Reference
[Reflex]

#include <Reflex/MemberTemplate.h>

Inheritance diagram for Reflex::MemberTemplate:

Reflex::OwnedMemberTemplate List of all members.

Public Member Functions

 MemberTemplate (const MemberTemplateName *memberTemplateName=0)
 MemberTemplate (const MemberTemplate &rh)
 ~MemberTemplate ()
 operator bool () const
bool operator== (const MemberTemplate &rh) const
void * Id () const
std::string Name (unsigned int mod=0) const
Member_Iterator TemplateInstance_Begin () const
Member_Iterator TemplateInstance_End () const
Reverse_Member_Iterator TemplateInstance_RBegin () const
Reverse_Member_Iterator TemplateInstance_REnd () const
Member TemplateInstanceAt (size_t nth) const
size_t TemplateInstanceSize () const
std::string TemplateParameterDefaultAt (size_t nth) const
StdString_Iterator TemplateParameterDefault_Begin () const
StdString_Iterator TemplateParameterDefault_End () const
Reverse_StdString_Iterator TemplateParameterDefault_RBegin () const
Reverse_StdString_Iterator TemplateParameterDefault_REnd () const
std::string TemplateParameterNameAt (size_t nth) const
StdString_Iterator TemplateParameterName_Begin () const
StdString_Iterator TemplateParameterName_End () const
Reverse_StdString_Iterator TemplateParameterName_RBegin () const
Reverse_StdString_Iterator TemplateParameterName_REnd () const
size_t TemplateParameterSize () const
void AddTemplateInstance (const Member &templateInstance) const

Static Public Member Functions

static MemberTemplate ByName (const std::string &name, size_t nTemplateParams=0)
static MemberTemplate MemberTemplateAt (size_t nth)
static size_t MemberTemplateSize ()
static MemberTemplate_Iterator MemberTemplate_Begin ()
static MemberTemplate_Iterator MemberTemplate_End ()
static Reverse_MemberTemplate_Iterator MemberTemplate_RBegin ()
static Reverse_MemberTemplate_Iterator MemberTemplate_REnd ()

Private Attributes

const MemberTemplateNamefMemberTemplateName

Friends

class OwnedMemberTemplate

Detailed Description

Author:
Stefan Roiser
Date:
2005-02-03

Definition at line 30 of file MemberTemplate.h.


Constructor & Destructor Documentation

Reflex::MemberTemplate::MemberTemplate ( const MemberTemplateName memberTemplateName = 0  )  [inline]

default constructor

Definition at line 276 of file MemberTemplate.h.

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

copy constructor

Definition at line 283 of file MemberTemplate.h.

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

destructor

Definition at line 290 of file MemberTemplate.h.


Member Function Documentation

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

operator bool will return true if the member template is resolved

Returns:
true if member template is resolved

Definition at line 298 of file MemberTemplate.h.

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

operator == will return true if two member templates are the same

Returns:
true if member templates match

Definition at line 309 of file MemberTemplate.h.

References fMemberTemplateName.

static MemberTemplate Reflex::MemberTemplate::ByName ( const std::string name,
size_t  nTemplateParams = 0 
) [static]

ByName will return a member template corresponding to the argument name

Parameters:
member template name to lookup
nTemplateParams looks up the template family with this number of template parameters if it is set to 0, the first occurence of the template family name will be returned
Returns:
corresponding member template to name

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

Id will return a memory address which is a unique id for this member template

Returns:
unique id of this member template

Definition at line 317 of file MemberTemplate.h.

References fMemberTemplateName.

static MemberTemplate Reflex::MemberTemplate::MemberTemplateAt ( size_t  nth  )  [static]

MemberTemplateAt will return the nth member template defined

Parameters:
nth member template
Returns:
nth member template

size_t Reflex::MemberTemplate::MemberTemplateSize (  )  [inline, static]

MemberTemplateSize will return the number of member templates defined

Returns:
number of defined member templates

Definition at line 325 of file MemberTemplate.h.

References Reflex::MemberTemplateName::MemberTemplateSize().

static MemberTemplate_Iterator Reflex::MemberTemplate::MemberTemplate_Begin (  )  [static]

MemberTemplate_Begin returns the begin iterator of the member template container

Returns:
begin iterator of member template container

static MemberTemplate_Iterator Reflex::MemberTemplate::MemberTemplate_End (  )  [static]

MemberTemplate_End returns the end iterator of the member template container

Returns:
end iterator of member template container

static Reverse_MemberTemplate_Iterator Reflex::MemberTemplate::MemberTemplate_RBegin (  )  [static]

MemberTemplate_Rbegin returns the rbegin iterator of the member template container

Returns:
rbegin iterator of member template container

static Reverse_MemberTemplate_Iterator Reflex::MemberTemplate::MemberTemplate_REnd (  )  [static]

MemberTemplate_Rend returns the rend iterator of the member template container

Returns:
rend iterator of member template container

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

Name will return the name of the template family and a list of all currently available instantiations

Returns:
template family name with all instantiantion

Member_Iterator Reflex::MemberTemplate::TemplateInstance_Begin (  )  const

TemplateInstance_Begin returns the begin iterator of the instance container

Returns:
the begin iterator of the instance container

Member_Iterator Reflex::MemberTemplate::TemplateInstance_End (  )  const

TemplateInstance_End returns the end iterator of the instance container

Returns:
the end iterator of the instance container

Reverse_Member_Iterator Reflex::MemberTemplate::TemplateInstance_RBegin (  )  const

TemplateInstance_RBegin returns the rbegin iterator of the instance container

Returns:
the rbegin iterator of the instance container

Reverse_Member_Iterator Reflex::MemberTemplate::TemplateInstance_REnd (  )  const

TemplateInstance_Rend returns the rend iterator of the instance container

Returns:
the rend iterator of the instance container

Member Reflex::MemberTemplate::TemplateInstanceAt ( size_t  nth  )  const

TemplateInstanceAt will return the nth template instantion

Parameters:
nth template instantion
Returns:
pointer to nth template instantion

size_t Reflex::MemberTemplate::TemplateInstanceSize (  )  const [inline]

instantionSize will return the number of template instantions for this template family

Returns:
number of template instantions

Definition at line 333 of file MemberTemplate.h.

References Reflex::MemberTemplateName::fMemberTemplateImpl, fMemberTemplateName, and Reflex::MemberTemplateImpl::TemplateInstanceSize().

std::string Reflex::MemberTemplate::TemplateParameterDefaultAt ( size_t  nth  )  const [inline]

TemplateParameterDefaultAt will return the nth FunctionParameterAt default value as string

Parameters:
nth template FunctionParameterAt
Returns:
default value of nth template FunctionParameterAt

Definition at line 355 of file MemberTemplate.h.

References Reflex::MemberTemplateName::fMemberTemplateImpl, fMemberTemplateName, and Reflex::MemberTemplateImpl::TemplateParameterDefaultAt().

Reflex::StdString_Iterator Reflex::MemberTemplate::TemplateParameterDefault_Begin (  )  const [inline]

TemplateParameterDefault_Begin returns the begin of the container of template parameter default names

Returns:
begin of container of template parameter default names

Definition at line 366 of file MemberTemplate.h.

References Reflex::MemberTemplateName::fMemberTemplateImpl, fMemberTemplateName, Reflex::Dummy::StdStringCont(), and Reflex::MemberTemplateImpl::TemplateParameterDefault_Begin().

Reflex::StdString_Iterator Reflex::MemberTemplate::TemplateParameterDefault_End (  )  const [inline]

TemplateParameterDefault_End returns the end of the container of template parameter default names

Returns:
end of container of template parameter default names

Definition at line 377 of file MemberTemplate.h.

References Reflex::MemberTemplateName::fMemberTemplateImpl, fMemberTemplateName, Reflex::Dummy::StdStringCont(), and Reflex::MemberTemplateImpl::TemplateParameterDefault_End().

Reflex::Reverse_StdString_Iterator Reflex::MemberTemplate::TemplateParameterDefault_RBegin (  )  const [inline]

TemplateParameterDefault_RBegin returns the reverse begin of the container of template parameter default names

Returns:
reverse begin of container of template parameter default names

Definition at line 388 of file MemberTemplate.h.

References Reflex::MemberTemplateName::fMemberTemplateImpl, fMemberTemplateName, Reflex::Dummy::StdStringCont(), and Reflex::MemberTemplateImpl::TemplateParameterDefault_RBegin().

Reflex::Reverse_StdString_Iterator Reflex::MemberTemplate::TemplateParameterDefault_REnd (  )  const [inline]

TemplateParameterDefault_REnd returns the reverse end of the container of template parameter default names

Returns:
reverse end of container of template parameter default names

Definition at line 399 of file MemberTemplate.h.

References Reflex::MemberTemplateName::fMemberTemplateImpl, fMemberTemplateName, Reflex::Dummy::StdStringCont(), and Reflex::MemberTemplateImpl::TemplateParameterDefault_REnd().

std::string Reflex::MemberTemplate::TemplateParameterNameAt ( size_t  nth  )  const [inline]

TemplateParameterNameAt will the Name of the nth FunctionParameterAt

Parameters:
nth template FunctionParameterAt
Returns:
Name of nth template FunctionParameterAt

Definition at line 410 of file MemberTemplate.h.

References Reflex::MemberTemplateName::fMemberTemplateImpl, fMemberTemplateName, and Reflex::MemberTemplateImpl::TemplateParameterNameAt().

Reflex::StdString_Iterator Reflex::MemberTemplate::TemplateParameterName_Begin (  )  const [inline]

TemplateParameterName_Begin returns the begin of the container of template parameter names

Returns:
begin of container of template parameter names

Definition at line 421 of file MemberTemplate.h.

References Reflex::MemberTemplateName::fMemberTemplateImpl, fMemberTemplateName, Reflex::Dummy::StdStringCont(), and Reflex::MemberTemplateImpl::TemplateParameterName_Begin().

Reflex::StdString_Iterator Reflex::MemberTemplate::TemplateParameterName_End (  )  const [inline]

TemplateParameterName_End returns the end of the container of template parameter names

Returns:
end of container of template parameter names

Definition at line 432 of file MemberTemplate.h.

References Reflex::MemberTemplateName::fMemberTemplateImpl, fMemberTemplateName, Reflex::Dummy::StdStringCont(), and Reflex::MemberTemplateImpl::TemplateParameterName_End().

Reflex::Reverse_StdString_Iterator Reflex::MemberTemplate::TemplateParameterName_RBegin (  )  const [inline]

TemplateParameterName_RBegin returns the reverse begin of the container of template parameter names

Returns:
reverse begin of container of template parameter names

Definition at line 443 of file MemberTemplate.h.

References Reflex::MemberTemplateName::fMemberTemplateImpl, fMemberTemplateName, Reflex::Dummy::StdStringCont(), and Reflex::MemberTemplateImpl::TemplateParameterName_RBegin().

Reflex::Reverse_StdString_Iterator Reflex::MemberTemplate::TemplateParameterName_REnd (  )  const [inline]

TemplateParameterName_REnd returns the reverse end of the container of template parameter names

Returns:
reverse end of container of template parameter names

Definition at line 454 of file MemberTemplate.h.

References Reflex::MemberTemplateName::fMemberTemplateImpl, fMemberTemplateName, Reflex::Dummy::StdStringCont(), and Reflex::MemberTemplateImpl::TemplateParameterName_REnd().

size_t Reflex::MemberTemplate::TemplateParameterSize (  )  const [inline]

TemplateParameterSize will return the number of template parameters

Returns:
number of template parameters

Definition at line 344 of file MemberTemplate.h.

References Reflex::MemberTemplateName::fMemberTemplateImpl, fMemberTemplateName, and Reflex::MemberTemplateImpl::TemplateParameterSize().

void Reflex::MemberTemplate::AddTemplateInstance ( const Member templateInstance  )  const

AddTemplateInstance adds one TemplateInstanceAt of the template to the local container

Parameters:
templateInstance the template TemplateInstanceAt


Friends And Related Function Documentation

friend class OwnedMemberTemplate [friend]

Definition at line 31 of file MemberTemplate.h.


Member Data Documentation

const MemberTemplateName* Reflex::MemberTemplate::fMemberTemplateName [private]

pointer to the member template implementation member template name 1 1

Definition at line 266 of file MemberTemplate.h.

Referenced by Id(), operator==(), TemplateInstanceSize(), TemplateParameterDefault_Begin(), TemplateParameterDefault_End(), TemplateParameterDefault_RBegin(), TemplateParameterDefault_REnd(), TemplateParameterDefaultAt(), TemplateParameterName_Begin(), TemplateParameterName_End(), TemplateParameterName_RBegin(), TemplateParameterName_REnd(), TemplateParameterNameAt(), and TemplateParameterSize().


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