Mirror reflection library 0.5.13
|
MetaTemplatedClass is a type reflecting instantiation of a class template. More...
#include <mirror/doc/concepts.hpp>
MetaTemplatedClass is a type reflecting instantiation of a class template.
typedef ElaboratedTypeTag mirror::MetaClass::elaborated_type [inherited] |
The elaborated type specifier tag.
Tag reflecting the elaborate type specifier (class | struct | union) that was specified during definition (and registering) of the class reflected by this meta_class.
typedef MetaScope mirror::MetaScopedObject::scope [inherited] |
A type reflecting the scope of the scoped object.
This type conforms to the MetaScope concept and provides meta-data about the scope which encloses the construct reflected by this MetaScopedObject.
Reimplemented in mirror::MetaNamespace, mirror::MetaGlobalScope, mirror::MetaClassMember, mirror::MetaEnumValue, mirror::MetaFreeVariable, and mirror::MetaContainer.
typedef MetaTypeTemplate mirror::MetaTemplatedType::type_template [inherited] |
The MetaTypeTemplate reflecting the template which was used for the instantiation of this templated type.
static std::string mirror::MetaNamedObject::base_name | ( | void | ) | [static, 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.
static std::string mirror::MetaNamedScopedObject::full_name | ( | void | ) | [static, 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.
static std::string mirror::MetaNamedScopedObject::local_name | ( | void | ) | [static, 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 MIRROR_USING_NAMESPACE macro.
friend struct all_containers< MetaClass > [friend, inherited] |
Meta-function returning a range of MetaContainerss which are reflecting the element containers of the reflected class including those inherited from base classes.
friend struct all_member_functions< MetaClass > [friend, inherited] |
Meta-function returning a range of MetaOverloadedFunctions which are reflecting the overloaded functions of the reflected class, including those inherited from the base classes.
friend struct all_member_variables< MetaClass > [friend, inherited] |
Meta-function returning a range of MetaMemberVariables which are reflecting the member variables of the reflected class including those inherited from base classes.
friend struct apply_modifier< MetaType, ModifierLambdaExpression > [friend, inherited] |
Meta-function returning MetaType reflecting a type that is the result of application of the ModifierLambdaExpression on the original_type
reflected by the passed MetaType
.
MetaType | meta-type reflecting the original type to be modified and reflected. |
ModifierLambdaExpression | unary lambda expression doing the modification of the original type. For example:
std::add_pointer<mirror::mp::arg<1>> The type trait templates used to construct the modifier expression must not return a boolean or integral constants. |
friend struct base_classes< MetaClass > [friend, inherited] |
Meta-function returning a range of MetaInheritances which are reflecting the inheritance of the base classes
meta_templated_class_tag categorize_meta_object | ( | MetaTemplatedClass | ) | [friend] |
meta_object_tag categorize_meta_object | ( | MetaObject | ) | [friend, inherited] |
This function can be used to determine if a type is a MetaObject
meta_scoped_object_tag categorize_meta_object | ( | MetaScopedObject | ) | [friend, inherited] |
meta_templated_type_tag categorize_meta_object | ( | MetaTemplatedType | ) | [friend, inherited] |
meta_type_tag categorize_meta_object | ( | MetaType | ) | [friend, inherited] |
meta_named_scoped_object_tag categorize_meta_object | ( | MetaNamedScopedObject | ) | [friend, inherited] |
meta_class_tag categorize_meta_object | ( | MetaClass | ) | [friend, inherited] |
meta_scope_tag categorize_meta_object | ( | MetaScope | ) | [friend, inherited] |
meta_named_object_tag categorize_meta_object | ( | MetaNamedObject | ) | [friend, inherited] |
friend struct constructors< MetaClass > [friend, inherited] |
Meta-function returning a range of MetaConstructors which are reflecting the constructors of the reflected class
friend struct container_kind< MetaType > [friend, inherited] |
Meta-function returning the container kind of a class.
This meta-function returns a container kind tag indicating if and what kind of container the reflected class is.
friend struct containers< MetaType > [friend, inherited] |
Meta-function returning a range of MetaContainerss which are reflecting the element containers of the reflected type
friend struct elaborated_type< MetaClass > [friend, inherited] |
Meta-function returning the elaborated type specifier of a class.
This meta-function "returns" the same elaborated type specifier as the elaborated_type
member typedef, but is better suited for algorithms using lambda placeholder expressions.
friend struct is_a< MetaObject, ConceptTag > [friend, inherited] |
Meta-function for checking if the MetaObject conforms to a concept.
This meta-function returns std::true_type if a MetaObject conforms to the concept identified by the ConceptTag
. Returns std::false_type otherwise.
friend struct member_functions< MetaClass > [friend, inherited] |
Meta-function returning a range of MetaOverloadedFunctions which are reflecting the overloaded functions of the reflected class, not including those inherited from the base classes.
friend struct member_variables< MetaClass > [friend, inherited] |
Meta-function returning a range of MetaMemberVariables which are reflecting the member variables of the reflected class not including those inherited from base classes.
friend struct original_type< MetaType > [friend, inherited] |
Meta-function returning the type reflected by this MetaType.
This meta-function "returns" the same type as the original_type
member typedef, but is better suited for algorithms using lambda placeholder expressions.
friend struct scope< MetaScopedObject > [friend, inherited] |
friend struct template_parameters< MetaTemplatedType > [friend, inherited] |
int traverse_elements | ( | MetaType | meta_type, |
MetaType::original_type & | container, | ||
TernaryFunctor | elem_func, | ||
BinaryFunctor | empty_func | ||
) | [friend, inherited] |
Convenience function for default element traversal.
This function calls the provided pair of functors on each element in the instance of the container type reflected by this MetaType or on each empty subcontainer.
The elem_func
functor is called on each element in the non-empty subcontainers and should accept three parameters: the first is a tag type indicating the kind of the container he second is an instance of the element_traversal_info type containing information about the position of the currently traversed element and the third is the currently traversed element.
The empty_func
functor is called on the empty subcontainers and should accept two parameters: the first is a tag type indicating the kind of the container and the second is an instance of the element_traversal_info type containing information about the status of the traversal.
This function returns the number of elements traversed.
friend struct type_template< MetaTemplatedType > [friend, inherited] |
Meta-function returning the template of the templated type.
This meta-function "returns" the same MetaTypeTemplate as the type_template
member typedef, but is better suited for algorithms using lambda placeholder expressions.