Mirror reflection library - Puddle compile-time layer 0.5.13
|
MetaPlainMemberVariable is a meta-object reflecting POD class' member variable. More...
#include <puddle/doc/concepts.hpp>
Public Member Functions | |
ptrdiff_t | offset (void) const |
Returns the byte offset of the member inside the class. | |
Type * | address (Class &instance) const |
Returns a pointer to the member when given a reference to Class. | |
const Type * | address (const Class &instance) const |
MemberVariablePointer | member_pointer (void) const |
Returns a class member pointer for the reflected member variable. | |
mirror::meta_plain_member_variable_tag | category (void) const |
Type | get (const Class &instance) const |
Gets the value of the member when given an instance of the Class. | |
void | set (Class &instance, Type new_value) const |
Sets the value of the member when given an instance of the Class. | |
MetaClass | scope (void) const |
Returns meta-class for the class in which the member is defined. | |
Specifier | access_type (void) const |
Returns the access type specifier. | |
std::string | full_name (void) const |
Returns the full name of the reflected entity. | |
std::string | local_name (void) const |
Returns the local name of the reflected entity. | |
std::string | base_name (void) const |
Returns the base name of the reflected entity. | |
CompileTimeString | static_name (void) const |
Returns a compile-time string containing the base_name. | |
template<typename Category > | |
Boolean | is_a (Category) const |
Returns true if the meta-object is of the specified Category. | |
Specifier | storage_class (void) const |
Returns the storage class tag. | |
MetaType | type (void) const |
Returns MetaType reflecting the type of the variable. | |
Friends | |
Boolean | operator== (MetaObject, MetaObject) |
Equality comparison. | |
Boolean | operator!= (MetaObject, MetaObject) |
Inequality comparison. |
MetaPlainMemberVariable is a meta-object reflecting POD class' member variable.
Specifier puddle::MetaClassMember::access_type | ( | void | ) | const [inherited] |
Returns the access type specifier.
Returns specifier for the access type (private | protected | public) for the reflected class member variable, function or constructor.
Type* puddle::MetaPlainMemberVariable::address | ( | Class & | instance | ) | const |
Returns a pointer to the member when given a reference to Class.
This function allows to get the pointer of the member variable reflected by this MetaPlainMemberVariable of the provided instance.
Class | the type of the parent class to which this member variable belongs to. |
instance | an instance of the Class |
std::string puddle::MetaNamedObject::base_name | ( | void | ) | const [inherited] |
Returns the base name of the reflected entity.
This function returns the base name of the reflected construct (type, class, namespace, member variable, etc.) without the nested name specifier.
mirror::meta_plain_member_variable_tag puddle::MetaPlainMemberVariable::category | ( | void | ) | const |
Reimplemented from puddle::MetaMemberVariable.
std::string puddle::MetaNamedScopedObject::full_name | ( | void | ) | const [inherited] |
Returns the full name of the reflected entity.
This function returns the full name of the reflected construct (type, class, namespace, member variable, etc.) including the nested name specifier.
Type puddle::MetaMemberVariable::get | ( | const Class & | instance | ) | const [inherited] |
Gets the value of the member when given an instance of the Class.
This function allows to get the value of the member variable reflected by this MetaMemberVariable of the provided instance.
Class | the type of the parent class to which this member variable belongs to. |
instance | an instance of the Class, the value of the member variable of which is to be obtained. |
Boolean puddle::MetaObject::is_a | ( | Category | ) | const [inherited] |
Returns true if the meta-object is of the specified Category.
Category | a meta-object category tag type |
std::string puddle::MetaNamedScopedObject::local_name | ( | void | ) | const [inherited] |
Returns the local name of the reflected entity.
This function returns the local name of the reflected construct (type, class, namespace, member variable, etc.) including the partial or full nested name specifier, based on whether the parent scope or one of its enclosing scopes of the construct reflected by this MetaNamedScopedObject is used with the PUDDLE_USING_NAMESPACE macro.
void puddle::MetaMemberVariable::set | ( | Class & | instance, |
Type | new_value | ||
) | const [inherited] |
Sets the value of the member when given an instance of the Class.
This function allows to set the value of the member variable reflected by this MetaMemberVariable of the provided instance to the provided new_value.
Class | the type of the parent class to which this member variable belongs to. |
Type | the type of the value to be set. This type must be implicitly convertible to the type of the member variable. |
instance | an instance of the Class, the value of the member variable of which is to be modified. |
new_value | the new value to be set to the member variable of the passed instance. |
Specifier puddle::MetaVariable::storage_class | ( | void | ) | const [inherited] |
Returns the storage class tag.
Specifier reflecting the storage class (auto|static|mutable|...) for the reflected variable.