#include <Reflex/internal/MemberBase.h>
Public Member Functions | |
MemberBase (const char *name, const Type &type, TYPE memberType, unsigned int modifiers) | |
virtual | ~MemberBase () |
operator Member () const | |
Scope | DeclaringScope () const |
Type | DeclaringType () const |
virtual void | GenerateDict (DictionaryGenerator &generator) const |
virtual Object | Get (const Object &obj) const |
virtual void | Invoke (const Object &obj, Object *ret, const std::vector< void * > ¶mList=std::vector< void * >()) const |
virtual void | Invoke (Object *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 | IsRegister () const |
bool | IsStatic () const |
bool | IsTemplateInstance () const |
bool | IsTransient () const |
bool | IsVirtual () const |
bool | IsVolatile () const |
TYPE | MemberType () const |
std::string | MemberTypeAsString () const |
virtual std::string | Name (unsigned int mod=0) const |
const char * | Name_c_str () const |
virtual size_t | Offset () const |
virtual void | InterpreterOffset (char *) |
virtual char *& | InterpreterOffset () const |
virtual size_t | FunctionParameterSize (bool required=false) const |
virtual std::string | FunctionParameterDefaultAt (size_t nth) const |
virtual StdString_Iterator | FunctionParameterDefault_Begin () const |
virtual StdString_Iterator | FunctionParameterDefault_End () const |
virtual Reverse_StdString_Iterator | FunctionParameterDefault_RBegin () const |
virtual Reverse_StdString_Iterator | FunctionParameterDefault_REnd () const |
virtual std::string | FunctionParameterNameAt (size_t nth) const |
virtual StdString_Iterator | FunctionParameterName_Begin () const |
virtual StdString_Iterator | FunctionParameterName_End () const |
virtual Reverse_StdString_Iterator | FunctionParameterName_RBegin () const |
virtual Reverse_StdString_Iterator | FunctionParameterName_REnd () const |
PropertyList | Properties () const |
virtual void | Set (const Object &instance, const void *value) const |
void | SetScope (const Scope &scope) const |
virtual void * | Stubcontext () const |
virtual StubFunction | Stubfunction () const |
virtual Type | TemplateArgumentAt (size_t nth) const |
virtual size_t | TemplateArgumentSize () const |
virtual Type_Iterator | TemplateArgument_Begin () const |
virtual Type_Iterator | TemplateArgument_End () const |
virtual Reverse_Type_Iterator | TemplateArgument_RBegin () const |
virtual Reverse_Type_Iterator | TemplateArgument_REnd () const |
virtual MemberTemplate | TemplateFamily () const |
Type | TypeOf () const |
virtual void | UpdateFunctionParameterNames (const char *parameters) |
Protected Member Functions | |
void * | CalculateBaseObject (const Object &obj) const |
Protected Attributes | |
Type | fType |
unsigned int | fModifiers |
Private Attributes | |
LiteralString | fName |
Scope | fScope |
TYPE | fMemberType |
OwnedPropertyList | fPropertyList |
Member * | fThisMember |
Definition at line 33 of file MemberBase.h.
Reflex::MemberBase::MemberBase | ( | const char * | name, | |
const Type & | type, | |||
TYPE | memberType, | |||
unsigned int | modifiers | |||
) |
default constructor
virtual Reflex::MemberBase::~MemberBase | ( | ) | [virtual] |
destructor
Reflex::MemberBase::operator Member | ( | ) | const |
operator member will return the member object of this MemberBase
Scope Reflex::MemberBase::DeclaringScope | ( | ) | const |
DeclaringScope will return the scope which the member lives in
Referenced by Reflex::Member::DeclaringScope(), Reflex::Member::DeclaringType(), and Name().
Type Reflex::MemberBase::DeclaringType | ( | ) | const |
DeclaringType will return the type which the member lives in
virtual void Reflex::MemberBase::GenerateDict | ( | DictionaryGenerator & | generator | ) | const [virtual] |
GenerateDict will produce the dictionary information of this type
generator | a reference to the dictionary generator instance |
Reflex::Object Reflex::MemberBase::Get | ( | const Object & | obj | ) | const [inline, virtual] |
Get the member value
Definition at line 389 of file MemberBase.h.
References Reflex::Dummy::Object().
void Reflex::MemberBase::Invoke | ( | const Object & | obj, | |
Object * | ret, | |||
const std::vector< void * > & | paramList = std::vector< void * >() | |||
) | const [inline, virtual] |
Invoke the member function
Definition at line 406 of file MemberBase.h.
void Reflex::MemberBase::Invoke | ( | Object * | ret, | |
const std::vector< void * > & | paramList = std::vector< void * >() | |||
) | const [inline, virtual] |
Invoke the function (for static functions)
Definition at line 423 of file MemberBase.h.
bool Reflex::MemberBase::IsAbstract | ( | ) | const [inline] |
check whether abstract is set for the data member
Definition at line 431 of file MemberBase.h.
References Reflex::ABSTRACT, and fModifiers.
Referenced by Reflex::Member::IsAbstract().
bool Reflex::MemberBase::IsArtificial | ( | ) | const [inline] |
check whether artificial is set for the data member
Definition at line 439 of file MemberBase.h.
References Reflex::ARTIFICIAL, and fModifiers.
Referenced by Reflex::Member::IsArtificial().
bool Reflex::MemberBase::IsAuto | ( | ) | const [inline] |
check whether auto is set for the data member
Definition at line 447 of file MemberBase.h.
References Reflex::AUTO, and fModifiers.
Referenced by Reflex::Member::IsAuto().
bool Reflex::MemberBase::IsConstructor | ( | ) | const [inline] |
check whether the function member is a constructor
Definition at line 455 of file MemberBase.h.
References Reflex::CONSTRUCTOR, and fModifiers.
Referenced by Reflex::Member::IsConstructor().
bool Reflex::MemberBase::IsConst | ( | ) | const [inline] |
check whether a member is const qualified
Definition at line 463 of file MemberBase.h.
References Reflex::CONST, and fModifiers.
Referenced by Reflex::Member::IsConst().
bool Reflex::MemberBase::IsConverter | ( | ) | const [inline] |
check whether the function member is a user defined conversion function
Definition at line 471 of file MemberBase.h.
References Reflex::CONVERTER, and fModifiers.
Referenced by Reflex::Member::IsConverter().
bool Reflex::MemberBase::IsCopyConstructor | ( | ) | const [inline] |
check whether the function member is a copy constructor
Definition at line 479 of file MemberBase.h.
References Reflex::COPYCONSTRUCTOR, and fModifiers.
Referenced by Reflex::Member::IsCopyConstructor().
bool Reflex::MemberBase::IsDataMember | ( | ) | const [inline] |
return true if this is a data member
Definition at line 487 of file MemberBase.h.
References Reflex::DATAMEMBER, and fMemberType.
Referenced by Reflex::Member::IsDataMember().
bool Reflex::MemberBase::IsDestructor | ( | ) | const [inline] |
check whether the function member is a destructor
Definition at line 495 of file MemberBase.h.
References Reflex::DESTRUCTOR, and fModifiers.
Referenced by Reflex::Member::IsDestructor().
bool Reflex::MemberBase::IsExplicit | ( | ) | const [inline] |
check whether explicit is set for the function member
Definition at line 503 of file MemberBase.h.
References Reflex::EXPLICIT, and fModifiers.
Referenced by Reflex::Member::IsExplicit().
bool Reflex::MemberBase::IsExtern | ( | ) | const [inline] |
check whether extern is set for the data member
Definition at line 511 of file MemberBase.h.
References Reflex::EXTERN, and fModifiers.
Referenced by Reflex::Member::IsExtern().
bool Reflex::MemberBase::IsFunctionMember | ( | ) | const [inline] |
return true if this is a function member
Definition at line 519 of file MemberBase.h.
References fMemberType, and Reflex::FUNCTIONMEMBER.
Referenced by Reflex::Member::IsFunctionMember().
bool Reflex::MemberBase::IsInline | ( | ) | const [inline] |
check whether inline is set for the function member
Definition at line 527 of file MemberBase.h.
References fModifiers, and Reflex::INLINE.
Referenced by Reflex::Member::IsInline().
bool Reflex::MemberBase::IsMutable | ( | ) | const [inline] |
check whether mutable is set for the data member
Definition at line 535 of file MemberBase.h.
References fModifiers, and Reflex::MUTABLE.
Referenced by Reflex::Member::IsMutable().
bool Reflex::MemberBase::IsOperator | ( | ) | const [inline] |
check whether the function member is an operator
Definition at line 543 of file MemberBase.h.
References fModifiers, and Reflex::OPERATOR.
Referenced by Reflex::Member::IsOperator().
bool Reflex::MemberBase::IsPrivate | ( | ) | const [inline] |
check whether the function member is private
Definition at line 551 of file MemberBase.h.
References fModifiers, and Reflex::PRIVATE.
Referenced by Reflex::Member::IsPrivate().
bool Reflex::MemberBase::IsProtected | ( | ) | const [inline] |
check whether the function member is protected
Definition at line 559 of file MemberBase.h.
References fModifiers, and Reflex::PROTECTED.
Referenced by Reflex::Member::IsProtected().
bool Reflex::MemberBase::IsPublic | ( | ) | const [inline] |
check whether the function member is public
Definition at line 567 of file MemberBase.h.
References fModifiers, and Reflex::PUBLIC.
Referenced by Reflex::Member::IsPublic().
bool Reflex::MemberBase::IsRegister | ( | ) | const [inline] |
check whether register is set for the data member
Definition at line 575 of file MemberBase.h.
References fModifiers, and Reflex::REGISTER.
Referenced by Reflex::Member::IsRegister().
bool Reflex::MemberBase::IsStatic | ( | ) | const [inline] |
check whether static is set for the data member
Definition at line 583 of file MemberBase.h.
References fModifiers, and Reflex::STATIC.
Referenced by Reflex::Member::IsStatic().
bool Reflex::MemberBase::IsTemplateInstance | ( | ) | const [inline] |
IsTemplateInstance returns true if the type represents a ClassTemplateInstance
Definition at line 591 of file MemberBase.h.
References fMemberType, and Reflex::MEMBERTEMPLATEINSTANCE.
Referenced by Reflex::Member::IsTemplateInstance().
bool Reflex::MemberBase::IsTransient | ( | ) | const [inline] |
check whether transient is set for the data member
Definition at line 599 of file MemberBase.h.
References fModifiers, and Reflex::TRANSIENT.
Referenced by Reflex::Member::IsTransient().
bool Reflex::MemberBase::IsVirtual | ( | ) | const [inline] |
check whether virtual is set for the function member
Definition at line 607 of file MemberBase.h.
References fModifiers, and Reflex::VIRTUAL.
Referenced by Reflex::Member::IsVirtual().
bool Reflex::MemberBase::IsVolatile | ( | ) | const [inline] |
check whether a member is volatile qualified
Definition at line 615 of file MemberBase.h.
References fModifiers, and Reflex::VOLATILE.
Referenced by Reflex::Member::IsVolatile().
Reflex::TYPE Reflex::MemberBase::MemberType | ( | ) | const [inline] |
return the type of the member (function or data member)
Definition at line 623 of file MemberBase.h.
References fMemberType.
Referenced by Reflex::Member::MemberType().
std::string Reflex::MemberBase::MemberTypeAsString | ( | ) | const |
returns the string representation of the member species
Referenced by Reflex::Member::MemberTypeAsString().
std::string Reflex::MemberBase::Name | ( | unsigned int | mod = 0 |
) | const [inline, virtual] |
return the name of the member
Definition at line 631 of file MemberBase.h.
References Reflex::LiteralString::c_str(), DeclaringScope(), fName, Reflex::S, s, and Reflex::SCOPED.
Referenced by Reflex::Member::Name().
const char * Reflex::MemberBase::Name_c_str | ( | ) | const [inline] |
Name_c_str returns a char* pointer to the unqualified Name @ return c string to unqualified Name
Definition at line 648 of file MemberBase.h.
References Reflex::LiteralString::c_str(), and fName.
Referenced by Reflex::Member::Name_c_str().
size_t Reflex::MemberBase::Offset | ( | ) | const [inline, virtual] |
return the offset of the member
Definition at line 656 of file MemberBase.h.
Referenced by Reflex::Member::Offset().
void Reflex::MemberBase::InterpreterOffset | ( | char * | ) | [inline, virtual] |
char *& Reflex::MemberBase::InterpreterOffset | ( | ) | const [inline, virtual] |
size_t Reflex::MemberBase::FunctionParameterSize | ( | bool | required = false |
) | const [inline, virtual] |
number of parameters
Definition at line 680 of file MemberBase.h.
Referenced by Reflex::Member::FunctionParameterSize().
std::string Reflex::MemberBase::FunctionParameterDefaultAt | ( | size_t | nth | ) | const [inline, virtual] |
FunctionParameterDefaultAt returns the nth default value if declared
Definition at line 688 of file MemberBase.h.
Referenced by Reflex::Member::FunctionParameterDefaultAt().
Reflex::StdString_Iterator Reflex::MemberBase::FunctionParameterDefault_Begin | ( | ) | const [inline, virtual] |
Definition at line 696 of file MemberBase.h.
References Reflex::Dummy::StdStringCont().
Referenced by Reflex::Member::FunctionParameterDefault_Begin().
Reflex::StdString_Iterator Reflex::MemberBase::FunctionParameterDefault_End | ( | ) | const [inline, virtual] |
Definition at line 704 of file MemberBase.h.
References Reflex::Dummy::StdStringCont().
Referenced by Reflex::Member::FunctionParameterDefault_End().
Reflex::Reverse_StdString_Iterator Reflex::MemberBase::FunctionParameterDefault_RBegin | ( | ) | const [inline, virtual] |
Definition at line 712 of file MemberBase.h.
References Reflex::Dummy::StdStringCont().
Referenced by Reflex::Member::FunctionParameterDefault_RBegin().
Reflex::Reverse_StdString_Iterator Reflex::MemberBase::FunctionParameterDefault_REnd | ( | ) | const [inline, virtual] |
Definition at line 720 of file MemberBase.h.
References Reflex::Dummy::StdStringCont().
Referenced by Reflex::Member::FunctionParameterDefault_REnd().
std::string Reflex::MemberBase::FunctionParameterNameAt | ( | size_t | nth | ) | const [inline, virtual] |
FunctionParameterNameAt returns the nth name if declared
Definition at line 728 of file MemberBase.h.
Referenced by Reflex::Member::FunctionParameterNameAt().
Reflex::StdString_Iterator Reflex::MemberBase::FunctionParameterName_Begin | ( | ) | const [inline, virtual] |
Definition at line 736 of file MemberBase.h.
References Reflex::Dummy::StdStringCont().
Referenced by Reflex::Member::FunctionParameterName_Begin().
Reflex::StdString_Iterator Reflex::MemberBase::FunctionParameterName_End | ( | ) | const [inline, virtual] |
Definition at line 744 of file MemberBase.h.
References Reflex::Dummy::StdStringCont().
Referenced by Reflex::Member::FunctionParameterName_End().
Reflex::Reverse_StdString_Iterator Reflex::MemberBase::FunctionParameterName_RBegin | ( | ) | const [inline, virtual] |
Definition at line 752 of file MemberBase.h.
References Reflex::Dummy::StdStringCont().
Referenced by Reflex::Member::FunctionParameterName_RBegin().
Reflex::Reverse_StdString_Iterator Reflex::MemberBase::FunctionParameterName_REnd | ( | ) | const [inline, virtual] |
Definition at line 760 of file MemberBase.h.
References Reflex::Dummy::StdStringCont().
Referenced by Reflex::Member::FunctionParameterName_REnd().
PropertyList Reflex::MemberBase::Properties | ( | ) | const |
Properties will return a pointer to the property list attached to this item
Referenced by Reflex::Member::Properties().
void Reflex::MemberBase::Set | ( | const Object & | instance, | |
const void * | value | |||
) | const [inline, virtual] |
Set the member value
Definition at line 774 of file MemberBase.h.
void Reflex::MemberBase::SetScope | ( | const Scope & | scope | ) | const [inline] |
Set the type of the member
Definition at line 782 of file MemberBase.h.
References fScope.
Referenced by Reflex::Member::SetScope().
void * Reflex::MemberBase::Stubcontext | ( | ) | const [inline, virtual] |
return the context of the member
Definition at line 790 of file MemberBase.h.
Referenced by Reflex::Member::Stubcontext().
Reflex::StubFunction Reflex::MemberBase::Stubfunction | ( | ) | const [inline, virtual] |
return the pointer to the stub function
Definition at line 798 of file MemberBase.h.
Referenced by Reflex::Member::Stubfunction().
TemplateArgumentAt will return a pointer to the nth template argument
nth | nth template argument |
Referenced by Reflex::Member::TemplateArgumentAt().
size_t Reflex::MemberBase::TemplateArgumentSize | ( | ) | const [inline, virtual] |
TemplateArgumentSize will return the number of template arguments
Definition at line 806 of file MemberBase.h.
Referenced by Reflex::Member::TemplateArgumentSize().
Reflex::Type_Iterator Reflex::MemberBase::TemplateArgument_Begin | ( | ) | const [inline, virtual] |
Definition at line 814 of file MemberBase.h.
References Reflex::Dummy::TypeCont().
Referenced by Reflex::Member::TemplateArgument_Begin().
Reflex::Type_Iterator Reflex::MemberBase::TemplateArgument_End | ( | ) | const [inline, virtual] |
Definition at line 822 of file MemberBase.h.
References Reflex::Dummy::TypeCont().
Referenced by Reflex::Member::TemplateArgument_End().
Reflex::Reverse_Type_Iterator Reflex::MemberBase::TemplateArgument_RBegin | ( | ) | const [inline, virtual] |
Definition at line 830 of file MemberBase.h.
References Reflex::Dummy::TypeCont().
Referenced by Reflex::Member::TemplateArgument_RBegin().
Reflex::Reverse_Type_Iterator Reflex::MemberBase::TemplateArgument_REnd | ( | ) | const [inline, virtual] |
Definition at line 838 of file MemberBase.h.
References Reflex::Dummy::TypeCont().
Referenced by Reflex::Member::TemplateArgument_REnd().
Reflex::MemberTemplate Reflex::MemberBase::TemplateFamily | ( | ) | const [inline, virtual] |
TemplateFamily returns the corresponding MemberTemplate if any
Definition at line 846 of file MemberBase.h.
References Reflex::Dummy::MemberTemplate().
Referenced by Reflex::Member::TemplateFamily().
Reflex::Type Reflex::MemberBase::TypeOf | ( | ) | const [inline] |
return pointer to member type
Definition at line 854 of file MemberBase.h.
References fType.
Referenced by Reflex::Member::TypeOf().
void Reflex::MemberBase::UpdateFunctionParameterNames | ( | const char * | parameters | ) | [inline, virtual] |
UpdateFunctionParameterNames updates the names of parameters
parameters | new list of ';' separated parameter names, must not specify default values |
Definition at line 862 of file MemberBase.h.
Referenced by Reflex::Member::UpdateFunctionParameterNames().
void* Reflex::MemberBase::CalculateBaseObject | ( | const Object & | obj | ) | const [protected] |
CalculateBaseObject will calculate the inheritance between an object and the local type if necessary
obj | the object from which the calculation should start |
Type Reflex::MemberBase::fType [protected] |
unsigned int Reflex::MemberBase::fModifiers [protected] |
all modifiers of the member
Definition at line 328 of file MemberBase.h.
Referenced by IsAbstract(), IsArtificial(), IsAuto(), IsConst(), IsConstructor(), IsConverter(), IsCopyConstructor(), IsDestructor(), IsExplicit(), IsExtern(), IsInline(), IsMutable(), IsOperator(), IsPrivate(), IsProtected(), IsPublic(), IsRegister(), IsStatic(), IsTransient(), IsVirtual(), and IsVolatile().
LiteralString Reflex::MemberBase::fName [private] |
Scope Reflex::MemberBase::fScope [mutable, private] |
scope of the member member scope 1 1
Definition at line 343 of file MemberBase.h.
Referenced by SetScope().
TYPE Reflex::MemberBase::fMemberType [private] |
the kind of member ( data/function-member) member type 1 1
Definition at line 353 of file MemberBase.h.
Referenced by IsDataMember(), IsFunctionMember(), IsTemplateInstance(), and MemberType().
property list propertylist 1 0..1
Definition at line 363 of file MemberBase.h.
Member* Reflex::MemberBase::fThisMember [private] |
pointer back to the member object this member 1 1
Definition at line 373 of file MemberBase.h.