Reflex::Member Class Reference
[Reflex]

#include <Reflex/Member.h>

Inheritance diagram for Reflex::Member:

Reflex::OwnedMember List of all members.

Public Member Functions

 Member (const MemberBase *memberBase=0)
 Member (const Member &rh)
 ~Member ()
bool operator< (const Member &rh) const
bool operator== (const Member &rh) const
bool operator!= (const Member &rh) const
Memberoperator= (const Member &rh)
 operator bool () const
Scope DeclaringScope () const
Type DeclaringType () const
void GenerateDict (DictionaryGenerator &generator) const
Object Get () const
Object Get (const Object &obj) const
void * Id () const
void Invoke (const Object &obj, Object *ret, const std::vector< void * > &paramList=std::vector< void * >()) const
template<typename T>
void Invoke (const Object &obj, T &ret, const std::vector< void * > &paramList=std::vector< void * >()) const
void Invoke (Object *ret, const std::vector< void * > &paramList=std::vector< void * >()) const
template<typename T>
void Invoke (T &ret, const std::vector< void * > &paramList=std::vector< void * >()) const
bool IsAbstract () const
bool IsArtificial () const
bool IsAuto () const
bool IsConstructor () const
bool IsConst () const
bool IsConverter () const
bool IsCopyConstructor () const
bool IsDataMember () const
bool IsDestructor () const
bool IsExplicit () const
bool IsExtern () const
bool IsFunctionMember () const
bool IsInline () const
bool IsMutable () const
bool IsOperator () const
bool IsPrivate () const
bool IsProtected () const
bool IsPublic () const
bool IsPureVirtual () const
bool IsRegister () const
bool IsStatic () const
bool IsTemplateInstance () const
bool IsTransient () const
bool IsVirtual () const
bool IsVolatile () const
TYPE MemberType () const
std::string MemberTypeAsString () const
std::string Name (unsigned int mod=0) const
const char * Name_c_str () const
size_t Offset () const
void InterpreterOffset (char *)
char *& InterpreterOffset () const
size_t FunctionParameterSize (bool required=false) const
std::string FunctionParameterDefaultAt (size_t nth) const
StdString_Iterator FunctionParameterDefault_Begin () const
StdString_Iterator FunctionParameterDefault_End () const
Reverse_StdString_Iterator FunctionParameterDefault_RBegin () const
Reverse_StdString_Iterator FunctionParameterDefault_REnd () const
std::string FunctionParameterNameAt (size_t nth) const
StdString_Iterator FunctionParameterName_Begin () const
StdString_Iterator FunctionParameterName_End () const
Reverse_StdString_Iterator FunctionParameterName_RBegin () const
Reverse_StdString_Iterator FunctionParameterName_REnd () const
PropertyList Properties () const
void Set (const Object &instance, const void *value) const
void SetScope (const Scope &sc) const
void * Stubcontext () const
StubFunction Stubfunction () 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
MemberTemplate TemplateFamily () const
MemberBaseToMemberBase () const
Type TypeOf () const
void UpdateFunctionParameterNames (const char *parameters)

Private Member Functions

void Delete ()

Private Attributes

MemberBasefMemberBase

Friends

class OwnedMember

Detailed Description

Author:
Stefan Roiser
Date:
24/11/2003

Definition at line 36 of file Member.h.


Constructor & Destructor Documentation

Reflex::Member::Member ( const MemberBase memberBase = 0  ) 

default constructor

Reflex::Member::Member ( const Member rh  ) 

copy constructor

Reflex::Member::~Member (  ) 

destructor


Member Function Documentation

bool Reflex::Member::operator< ( const Member rh  )  const [inline]

lesser than operator

Definition at line 561 of file Member.h.

References Name(), and TypeOf().

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

equal operator

Definition at line 572 of file Member.h.

References Name_c_str(), and TypeOf().

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

not equal operator

Definition at line 584 of file Member.h.

Reflex::Member & Reflex::Member::operator= ( const Member rh  )  [inline]

assignment operator

Definition at line 592 of file Member.h.

References fMemberBase.

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

operator bool will return true if the member is valid

Returns:
true if member is implemented

Definition at line 601 of file Member.h.

References fMemberBase.

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

DeclaringScope will return the scope which the member lives in

Returns:
the declaring scope of the member

Definition at line 609 of file Member.h.

References Reflex::MemberBase::DeclaringScope(), fMemberBase, and Reflex::Dummy::Scope().

Reflex::Type Reflex::Member::DeclaringType (  )  const [inline]

DeclaringType will return the type which the member lives in (i.e. the same as the Scope)

Returns:
the declaring type of the member

Definition at line 620 of file Member.h.

References Reflex::MemberBase::DeclaringScope(), fMemberBase, and Reflex::Dummy::Type().

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

GenerateDict will produce the dictionary information of this type

Parameters:
generator a reference to the dictionary generator instance

Object Reflex::Member::Get (  )  const

Get a static data member value

Returns:
member value as object

Object Reflex::Member::Get ( const Object obj  )  const

Get the data member value

Returns:
member value as object

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

Id returns a unique identifier of the member in the system

Returns:
unique identifier

Definition at line 631 of file Member.h.

References fMemberBase.

void Reflex::Member::Invoke ( const Object obj,
Object ret,
const std::vector< void * > &  paramList = std::vector< void * >() 
) const

Invoke a member function

Parameters:
obj the object which owns the member function
paramList a vector of addresses to paramter values
Returns:
the return value of the function as object

Referenced by Invoke().

template<typename T>
void Reflex::Member::Invoke ( const Object obj,
T ret,
const std::vector< void * > &  paramList = std::vector< void * >() 
) const [inline]

Invoke a member function

Parameters:
obj the object which owns the member function
paramList a vector of addresses to paramter values
Returns:
the return value of the function as object

Definition at line 640 of file Member.h.

References Reflex::Type::ByTypeInfo(), Invoke(), and T.

void Reflex::Member::Invoke ( Object ret,
const std::vector< void * > &  paramList = std::vector< void * >() 
) const

Invoke a static function

Parameters:
paramList a vector of addresses to parameter values
Returns:
the return value of the function as object

template<typename T>
void Reflex::Member::Invoke ( T ret,
const std::vector< void * > &  paramList = std::vector< void * >() 
) const [inline]

Invoke a static function

Parameters:
paramList a vector of addresses to parameter values
Returns:
the return value of the function as object

Definition at line 652 of file Member.h.

References Reflex::Type::ByTypeInfo(), Invoke(), and T.

bool Reflex::Member::IsAbstract (  )  const [inline]

IsAbstract checks whether abstract is set for the data member, or a function member is pure virtual

Returns:
true if abstract modifier is set for this member

Definition at line 662 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsAbstract().

Referenced by IsPureVirtual().

bool Reflex::Member::IsArtificial (  )  const [inline]

IsArtificial checks whether artificial is set for the data member

Returns:
true if artificial modifier is set for this member

Definition at line 673 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsArtificial().

bool Reflex::Member::IsAuto (  )  const [inline]

IsAuto checks whether auto is set for the data member

Returns:
true if auto modifier is set for this member

Definition at line 684 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsAuto().

bool Reflex::Member::IsConstructor (  )  const [inline]

IsConstructor checks whether the function member is a constructor

Returns:
true if member is a constructor

Definition at line 695 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsConstructor().

bool Reflex::Member::IsConst (  )  const [inline]

IsConst will check whether this member is const qualified.

Returns:
true if the member is const qualified

Definition at line 706 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsConst().

bool Reflex::Member::IsConverter (  )  const [inline]

IsConverter checks whether the function member is a user defined conversion function

Returns:
true if member is a conversion operator

Definition at line 717 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsConverter().

bool Reflex::Member::IsCopyConstructor (  )  const [inline]

IsCopyConstructor checks whether the function member is a copy constructor

Returns:
true if member is a copy constructor

Definition at line 728 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsCopyConstructor().

bool Reflex::Member::IsDataMember (  )  const [inline]

IsDataMember returns true if this is a data member

Returns:
true if this member is a data member

Definition at line 739 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsDataMember().

bool Reflex::Member::IsDestructor (  )  const [inline]

check whether the function member is a destructor

Returns:
true if this member is a destructor

Definition at line 750 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsDestructor().

bool Reflex::Member::IsExplicit (  )  const [inline]

IsExplicit checks whether explicit is set for the function member

Returns:
true if explicit modifier is set for this member

Definition at line 761 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsExplicit().

bool Reflex::Member::IsExtern (  )  const [inline]

IsExtern checks whether extern is set for the data member

Returns:
true if extern modifier is set for this member

Definition at line 772 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsExtern().

bool Reflex::Member::IsFunctionMember (  )  const [inline]

IsFunctionMember returns true if this is a function member

Returns:
true if this member is a function member

Definition at line 783 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsFunctionMember().

Referenced by IsPureVirtual().

bool Reflex::Member::IsInline (  )  const [inline]

IsInline checks whether inline is set for the function member

Returns:
true if inline modifier is set for this member

Definition at line 794 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsInline().

bool Reflex::Member::IsMutable (  )  const [inline]

IsMutable check whether mutable is set for the data member

Returns:
true if mutable modifier is set for this member

Definition at line 805 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsMutable().

bool Reflex::Member::IsOperator (  )  const [inline]

IsOperator check whether the function member is an operator

Returns:
true if this member is an operator function

Definition at line 816 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsOperator().

bool Reflex::Member::IsPrivate (  )  const [inline]

IsPrivate checks whether the function member is private

Returns:
true if access to this member is private

Definition at line 827 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsPrivate().

bool Reflex::Member::IsProtected (  )  const [inline]

IsProtected checks whether the function member is protected

Returns:
true if access to this member is protected

Definition at line 838 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsProtected().

bool Reflex::Member::IsPublic (  )  const [inline]

IsPublic checks whether the function member is public

Returns:
true if access to this member is public

Definition at line 849 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsPublic().

bool Reflex::Member::IsPureVirtual (  )  const [inline]

IsPureVirtual checks whether the Member is a pure virtual function.

Returns:
true if function and abstract modifier is set

Definition at line 860 of file Member.h.

References IsAbstract(), and IsFunctionMember().

bool Reflex::Member::IsRegister (  )  const [inline]

IsRegister checks whether register is set for the data member

Returns:
true if register modifier is set for this member

Definition at line 871 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsRegister().

bool Reflex::Member::IsStatic (  )  const [inline]

Definition at line 882 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsStatic().

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

IsTemplateInstance returns true if the member represents a templated member function

Returns:
true if member represents a templated member function

Definition at line 893 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsTemplateInstance().

bool Reflex::Member::IsTransient (  )  const [inline]

IsTransient checks whether the function member is transient

Returns:
true if transient modifier is set for this member (not a C++ modifier)

Definition at line 904 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsTransient().

bool Reflex::Member::IsVirtual (  )  const [inline]

IsVirtual checks whether virtual is set for the function member

Returns:
true if virtual modifier is set for this member

Definition at line 915 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsVirtual().

bool Reflex::Member::IsVolatile (  )  const [inline]

IsVolatile will check whether this member is volatile qualified.

Returns:
true if the member is volatile qualified

Definition at line 926 of file Member.h.

References fMemberBase, and Reflex::MemberBase::IsVolatile().

Reflex::TYPE Reflex::Member::MemberType (  )  const [inline]

MemberType return the type of the member as enum value (function or data member)

Returns:
member type as enum

Definition at line 937 of file Member.h.

References fMemberBase, Reflex::MemberBase::MemberType(), and Reflex::UNRESOLVED.

std::string Reflex::Member::MemberTypeAsString (  )  const [inline]

MemberTypeAsString returns the string representation of the member species

Returns:
member type as string representation

Definition at line 948 of file Member.h.

References fMemberBase, and Reflex::MemberBase::MemberTypeAsString().

std::string Reflex::Member::Name ( unsigned int  mod = 0  )  const [inline]

Name returns the Name of the member

Parameters:
mod modifiers can be or'ed as argument SCOPED - fully scoped name FINAL - resolve all typedefs QUALIFIED - cv and reference qualification
Returns:
name of the member

Definition at line 959 of file Member.h.

References fMemberBase, and Reflex::MemberBase::Name().

Referenced by operator<().

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

Name_c_str returns a char* pointer to the unqualified member name

Returns:
c string to unqualified member name

Definition at line 970 of file Member.h.

References fMemberBase, and Reflex::MemberBase::Name_c_str().

Referenced by operator==().

size_t Reflex::Member::Offset (  )  const [inline]

Offset returns the offset of the data member relative to the start of the scope

Returns:
offset of member as int

Definition at line 981 of file Member.h.

References fMemberBase, and Reflex::MemberBase::Offset().

void Reflex::Member::InterpreterOffset ( char *   )  [inline]

Definition at line 991 of file Member.h.

References fMemberBase, and Reflex::MemberBase::InterpreterOffset().

char *& Reflex::Member::InterpreterOffset (  )  const [inline]

Definition at line 999 of file Member.h.

References fMemberBase, and Reflex::MemberBase::InterpreterOffset().

size_t Reflex::Member::FunctionParameterSize ( bool  required = false  )  const [inline]

FunctionParameterSize returns the number of parameters

Parameters:
required if true only returns the number of required parameters
Returns:
number of parameters

Definition at line 1006 of file Member.h.

References fMemberBase, and Reflex::MemberBase::FunctionParameterSize().

std::string Reflex::Member::FunctionParameterDefaultAt ( size_t  nth  )  const [inline]

FunctionParameterAt nth default value if declared

Definition at line 1017 of file Member.h.

References fMemberBase, and Reflex::MemberBase::FunctionParameterDefaultAt().

Reflex::StdString_Iterator Reflex::Member::FunctionParameterDefault_Begin (  )  const [inline]

Definition at line 1028 of file Member.h.

References fMemberBase, Reflex::MemberBase::FunctionParameterDefault_Begin(), and Reflex::Dummy::StdStringCont().

Reflex::StdString_Iterator Reflex::Member::FunctionParameterDefault_End (  )  const [inline]

Definition at line 1039 of file Member.h.

References fMemberBase, Reflex::MemberBase::FunctionParameterDefault_End(), and Reflex::Dummy::StdStringCont().

Reflex::Reverse_StdString_Iterator Reflex::Member::FunctionParameterDefault_RBegin (  )  const [inline]

Definition at line 1050 of file Member.h.

References fMemberBase, Reflex::MemberBase::FunctionParameterDefault_RBegin(), and Reflex::Dummy::StdStringCont().

Reflex::Reverse_StdString_Iterator Reflex::Member::FunctionParameterDefault_REnd (  )  const [inline]

Definition at line 1061 of file Member.h.

References fMemberBase, Reflex::MemberBase::FunctionParameterDefault_REnd(), and Reflex::Dummy::StdStringCont().

std::string Reflex::Member::FunctionParameterNameAt ( size_t  nth  )  const [inline]

FunctionParametertNameAt returns the nth parameter name

Parameters:
nth parameter name
Returns:
nth parameter name

Definition at line 1072 of file Member.h.

References fMemberBase, and Reflex::MemberBase::FunctionParameterNameAt().

Reflex::StdString_Iterator Reflex::Member::FunctionParameterName_Begin (  )  const [inline]

Definition at line 1083 of file Member.h.

References fMemberBase, Reflex::MemberBase::FunctionParameterName_Begin(), and Reflex::Dummy::StdStringCont().

Reflex::StdString_Iterator Reflex::Member::FunctionParameterName_End (  )  const [inline]

Definition at line 1094 of file Member.h.

References fMemberBase, Reflex::MemberBase::FunctionParameterName_End(), and Reflex::Dummy::StdStringCont().

Reflex::Reverse_StdString_Iterator Reflex::Member::FunctionParameterName_RBegin (  )  const [inline]

Definition at line 1105 of file Member.h.

References fMemberBase, Reflex::MemberBase::FunctionParameterName_RBegin(), and Reflex::Dummy::StdStringCont().

Reflex::Reverse_StdString_Iterator Reflex::Member::FunctionParameterName_REnd (  )  const [inline]

Definition at line 1116 of file Member.h.

References fMemberBase, Reflex::MemberBase::FunctionParameterName_REnd(), and Reflex::Dummy::StdStringCont().

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

Properties will return the properties attached to this item

Returns:
properties of this member

Definition at line 1127 of file Member.h.

References fMemberBase, Reflex::MemberBase::Properties(), and Reflex::Dummy::PropertyList().

void Reflex::Member::Set ( const Object instance,
const void *  value 
) const

Set will set the value of a data member

Parameters:
instance of the object owning the data member
value the memory address of the value to set

void Reflex::Member::SetScope ( const Scope sc  )  const [inline]

SetScope will set the Scope of the member

Parameters:
sc scope to set

Definition at line 1138 of file Member.h.

References fMemberBase, and Reflex::MemberBase::SetScope().

void * Reflex::Member::Stubcontext (  )  const [inline]

Stubcontext returns a pointer to the context of the member

Returns:
pointer to member context

Definition at line 1148 of file Member.h.

References fMemberBase, and Reflex::MemberBase::Stubcontext().

Reflex::StubFunction Reflex::Member::Stubfunction (  )  const [inline]

Stubfunction returns the pointer to the stub function

Returns:
function pointer to stub function

Definition at line 1159 of file Member.h.

References fMemberBase, and Reflex::MemberBase::Stubfunction().

Reflex::Type Reflex::Member::TemplateArgumentAt ( size_t  nth  )  const [inline]

TemplateArgumentAt will return the nth template argument

Parameters:
nth template argument
Returns:
nth template argument

Definition at line 1170 of file Member.h.

References fMemberBase, Reflex::MemberBase::TemplateArgumentAt(), and Reflex::Dummy::Type().

size_t Reflex::Member::TemplateArgumentSize (  )  const [inline]

TemplateArgumentSize will return the number of template arguments

Returns:
number of template arguments

Definition at line 1181 of file Member.h.

References fMemberBase, and Reflex::MemberBase::TemplateArgumentSize().

Reflex::Type_Iterator Reflex::Member::TemplateArgument_Begin (  )  const [inline]

Definition at line 1192 of file Member.h.

References fMemberBase, Reflex::MemberBase::TemplateArgument_Begin(), and Reflex::Dummy::TypeCont().

Reflex::Type_Iterator Reflex::Member::TemplateArgument_End (  )  const [inline]

Definition at line 1203 of file Member.h.

References fMemberBase, Reflex::MemberBase::TemplateArgument_End(), and Reflex::Dummy::TypeCont().

Reflex::Reverse_Type_Iterator Reflex::Member::TemplateArgument_RBegin (  )  const [inline]

Definition at line 1214 of file Member.h.

References fMemberBase, Reflex::MemberBase::TemplateArgument_RBegin(), and Reflex::Dummy::TypeCont().

Reflex::Reverse_Type_Iterator Reflex::Member::TemplateArgument_REnd (  )  const [inline]

Definition at line 1225 of file Member.h.

References fMemberBase, Reflex::MemberBase::TemplateArgument_REnd(), and Reflex::Dummy::TypeCont().

Reflex::MemberTemplate Reflex::Member::TemplateFamily (  )  const [inline]

TemplateFamily returns the corresponding MemberTemplate if any

Returns:
corresponding MemberTemplate

Definition at line 1236 of file Member.h.

References fMemberBase, Reflex::Dummy::MemberTemplate(), and Reflex::MemberBase::TemplateFamily().

Reflex::MemberBase * Reflex::Member::ToMemberBase (  )  const [inline]

ToMemberBase returns the underlying, internal MemberBase

Returns:
memberbase pointer

Definition at line 1247 of file Member.h.

References fMemberBase.

Reflex::Type Reflex::Member::TypeOf (  )  const [inline]

TypeOf returns the member type

Returns:
member type

Definition at line 1255 of file Member.h.

References fMemberBase, Reflex::Dummy::Type(), and Reflex::MemberBase::TypeOf().

Referenced by operator<(), and operator==().

void Reflex::Member::UpdateFunctionParameterNames ( const char *  parameters  )  [inline]

UpdateFunctionParameterNames updates the names of parameters

Parameters:
parameters new list of ';' separated parameter names, must not specify default values

Definition at line 1266 of file Member.h.

References fMemberBase, and Reflex::MemberBase::UpdateFunctionParameterNames().

void Reflex::Member::Delete (  )  [private]

Referenced by Reflex::OwnedMember::Delete().


Friends And Related Function Documentation

friend class OwnedMember [friend]

Definition at line 37 of file Member.h.


Member Data Documentation

MemberBase* Reflex::Member::fMemberBase [private]

the pointer to the member implementation 1 0..1 member base

Definition at line 546 of file Member.h.

Referenced by DeclaringScope(), DeclaringType(), FunctionParameterDefault_Begin(), FunctionParameterDefault_End(), FunctionParameterDefault_RBegin(), FunctionParameterDefault_REnd(), FunctionParameterDefaultAt(), FunctionParameterName_Begin(), FunctionParameterName_End(), FunctionParameterName_RBegin(), FunctionParameterName_REnd(), FunctionParameterNameAt(), FunctionParameterSize(), Id(), InterpreterOffset(), IsAbstract(), IsArtificial(), IsAuto(), IsConst(), IsConstructor(), IsConverter(), IsCopyConstructor(), IsDataMember(), IsDestructor(), IsExplicit(), IsExtern(), IsFunctionMember(), IsInline(), IsMutable(), IsOperator(), IsPrivate(), IsProtected(), IsPublic(), IsRegister(), IsStatic(), IsTemplateInstance(), IsTransient(), IsVirtual(), IsVolatile(), MemberType(), MemberTypeAsString(), Name(), Name_c_str(), Offset(), operator bool(), operator=(), Properties(), SetScope(), Stubcontext(), Stubfunction(), TemplateArgument_Begin(), TemplateArgument_End(), TemplateArgument_RBegin(), TemplateArgument_REnd(), TemplateArgumentAt(), TemplateArgumentSize(), TemplateFamily(), ToMemberBase(), TypeOf(), and UpdateFunctionParameterNames().


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