Mirror reflection library - Rubber type-erasure utility 0.5.13
|
Class erasing the type of Mirror's MetaTemplatedClasses. More...
#include <rubber/meta_objects.hpp>
Public Member Functions | |
template<typename MetaTemplatedClass > | |
meta_templated_class (MetaTemplatedClass mo) | |
Constructor erasing the type of a MetaTemplatedClass. | |
meta_type_template | type_template (void) const |
Returns the template used in instantion of the reflected type. | |
some | create (void) const |
Default-constructs (if possible) an instance of the reflected type. | |
const std::type_info & | typeid_ (void) const |
Returns the standard type information for the reflected type. | |
std::size_t | sizeof_ (void) const |
Returns the instance size in bytes for the reflected type. | |
range< meta_constructor > | constructors (void) const |
Returns the constructors of the type. | |
range< meta_container > | containers (void) const |
Returns the containers of the type. | |
std::string | full_name (void) const |
Returns the fully specified path of the reflected named object. | |
std::string | local_name (void) const |
Returns the local name of the reflected named object. | |
meta_scope | scope (void) const |
Returns the scope of the reflected scoped object. | |
int | uid (void) const |
Returns a (run-time) unique identifier of the meta-object. | |
aux::return_value < meta_meta_object >::type | self (void) const |
Returns the meta_meta_object reflecting this meta-object. | |
puddle::meta_object_category | category (void) const |
Returns the category of this meta-object. | |
bool | is_X (void) const |
A set of member functions indicating this meta-object's category. | |
std::string | base_name (void) const |
Returns the base-name of the reflected entity. | |
const specifier & | elaborated_type (void) const |
Returns the elaborated type specifier of the reflected class. | |
range< meta_inheritance > | base_classes (void) const |
Returns a range of meta-inheritances reflecting the base-classes. | |
range< meta_class > | class_layout (void) const |
range< meta_member_variable > | member_variables (void) const |
Returns the member variables of the reflected class. | |
range< meta_member_variable > | all_member_variables (void) const |
Returns member variables of the reflected class including inherited ones. | |
range< meta_member_function > | member_functions (void) const |
Returns the member functions of the reflected class. | |
range< meta_container > | all_containers (void) const |
Returns the containers of the reflected class. | |
range< meta_named_scoped_object > | members (void) const |
Returns a range of members of the reflected scope. | |
Friends | |
bool | operator== (const meta_object &a, const meta_object &b) |
Equality comparison. | |
bool | operator!= (const meta_object &a, const meta_object &b) |
Inequality comparison. | |
bool | operator<= (const meta_object &a, const meta_object &b) |
Less-equal comparison. | |
bool | operator>= (const meta_object &a, const meta_object &b) |
Greater-equal comparison. | |
bool | operator< (const meta_object &a, const meta_object &b) |
Less-than comparison. | |
bool | operator> (const meta_object &a, const meta_object &b) |
Greater-than comparison. |
Class erasing the type of Mirror's MetaTemplatedClasses.
some rubber::meta_type::create | ( | void | ) | const [inline, inherited] |
Default-constructs (if possible) an instance of the reflected type.
If the reflected type supports default construction, then this member function creates and returns a new instance. Otherwise the returned some
type is empty.
bool rubber::meta_object::is_X | ( | void | ) | const [inherited] |
A set of member functions indicating this meta-object's category.
This is not a single member-function, it is instead a set of functions like is_type, is_namespace, is_variable, etc. returning true or false based on whether this meta-object is of a particular kind.
std::string rubber::meta_named_scoped_object::local_name | ( | void | ) | const [inline, inherited] |
Returns the local name of the reflected named object.
This member function if available only if the #RUBBER_MSNO_WITH_LOCAL_NAME preprocessor symbol is defined with a nonzero integer value.