#include <Reflex/Member.h>
Inheritance diagram for Reflex::Member:
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 |
Member & | operator= (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 * > ¶mList=std::vector< void * >()) const |
template<typename T> | |
void | Invoke (const Object &obj, T &ret, const std::vector< void * > ¶mList=std::vector< void * >()) const |
void | Invoke (Object *ret, const std::vector< void * > ¶mList=std::vector< void * >()) const |
template<typename T> | |
void | Invoke (T &ret, const std::vector< void * > ¶mList=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 |
MemberBase * | ToMemberBase () const |
Type | TypeOf () const |
void | UpdateFunctionParameterNames (const char *parameters) |
Private Member Functions | |
void | Delete () |
Private Attributes | |
MemberBase * | fMemberBase |
Friends | |
class | OwnedMember |
Definition at line 36 of file Member.h.
Reflex::Member::Member | ( | const MemberBase * | memberBase = 0 |
) |
default constructor
Reflex::Member::Member | ( | const Member & | rh | ) |
copy constructor
Reflex::Member::~Member | ( | ) |
destructor
bool Reflex::Member::operator< | ( | const Member & | rh | ) | const [inline] |
bool Reflex::Member::operator== | ( | const Member & | rh | ) | const [inline] |
bool Reflex::Member::operator!= | ( | const Member & | rh | ) | const [inline] |
Reflex::Member & Reflex::Member::operator= | ( | const Member & | rh | ) | [inline] |
Reflex::Member::operator bool | ( | ) | const [inline] |
operator bool will return true if the member is valid
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
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)
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
generator | a reference to the dictionary generator instance |
Object Reflex::Member::Get | ( | ) | const |
Get a static data member value
Get the data member value
void * Reflex::Member::Id | ( | ) | const [inline] |
Id returns a unique identifier of the member in the system
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
obj | the object which owns the member function | |
paramList | a vector of addresses to paramter values |
Referenced by Invoke().
void Reflex::Member::Invoke | ( | const Object & | obj, | |
T & | ret, | |||
const std::vector< void * > & | paramList = std::vector< void * >() | |||
) | const [inline] |
Invoke a member function
obj | the object which owns the member function | |
paramList | a vector of addresses to paramter values |
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
paramList | a vector of addresses to parameter values |
void Reflex::Member::Invoke | ( | T & | ret, | |
const std::vector< void * > & | paramList = std::vector< void * >() | |||
) | const [inline] |
Invoke a static function
paramList | a vector of addresses to parameter values |
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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.
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)
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
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
mod | modifiers can be or'ed as argument SCOPED - fully scoped name FINAL - resolve all typedefs QUALIFIED - cv and reference qualification |
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
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
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
required | if true only returns the number of required 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
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
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
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
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
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
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
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
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
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
Definition at line 1247 of file Member.h.
References fMemberBase.
Reflex::Type Reflex::Member::TypeOf | ( | ) | const [inline] |
TypeOf returns the 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 | 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().
friend class OwnedMember [friend] |
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().