Mirror reflection library 0.5.13
|
Classes | |
struct | mirror::non_meta_object_tag |
Tag used for recognizing types which are not Mirror meta-objects. More... | |
struct | mirror::meta_object_tag |
Tag for types which conform to the Mirror's MetaObject concept. More... | |
struct | mirror::meta_named_object_tag |
Tag for types conforming to the Mirror's MetaNamedObject concept. More... | |
struct | mirror::meta_meta_object_tag |
Tag for types conforming to the Mirror's MetaMetaObject concept. More... | |
struct | mirror::meta_scoped_object_tag |
Tag for types conforming to the Mirror's MetaScopedObject concept. More... | |
struct | mirror::meta_named_scoped_object_tag |
Tag for types conforming to the Mirror's MetaNamedScopedObject concept. More... | |
struct | mirror::meta_scope_tag |
Tag for types conforming to the Mirror's MetaScope concept. More... | |
struct | mirror::meta_unspecified_scope_tag |
Tag for types conforming to the MetaScope concept for an unspecified scope. More... | |
struct | mirror::meta_namespace_tag |
Tag for types conforming to the Mirror's MetaNamespace concept. More... | |
struct | mirror::meta_global_scope_tag |
Tag for types conforming to the MetaNamespace concept for the global scope. More... | |
struct | mirror::meta_type_tag |
Tag for types conforming to the Mirror's MetaType concept. More... | |
struct | mirror::meta_templated_type_tag |
Tag for types conforming to the Mirror's MetaTemplatedType concept. More... | |
struct | mirror::meta_type_template_tag |
Tag for types conforming to the Mirror's MetaTypeTemplate concept. More... | |
struct | mirror::meta_typedef_tag |
Tag for types conforming to the Mirror's MetaTypedef concept. More... | |
struct | mirror::meta_class_tag |
Tag for types conforming to the Mirror's MetaClass concept. More... | |
struct | mirror::meta_class_member_tag |
Tag for types conforming to the Mirror's MetaClassMember concept. More... | |
struct | mirror::meta_templated_class_tag |
Tag for types conforming to the Mirror's MetaTemplatedClass concept. More... | |
struct | mirror::meta_enum_tag |
Tag for types conforming to the Mirror's MetaEnum concept. More... | |
struct | mirror::meta_enum_value_tag |
Tag for types conforming to the Mirror's MetaEnumValue concept. More... | |
struct | mirror::meta_inheritance_tag |
Tag for types conforming to the Mirror's MetaInheritance concept. More... | |
struct | mirror::meta_variable_tag |
Tag for types conforming to the Mirror's MetaVariable concept. More... | |
struct | mirror::meta_plain_variable_tag |
Tag for types conforming to the Mirror's MetaPlainVariable concept. More... | |
struct | mirror::meta_free_variable_tag |
Tag for types conforming to the Mirror's MetaFreeVariable concept. More... | |
struct | mirror::meta_plain_free_variable_tag |
Tag for types conforming to the Mirror's MetaPlainFreeVariable concept. More... | |
struct | mirror::meta_member_variable_tag |
Tag for types conforming to the Mirror's MetaMemberVariable concept. More... | |
struct | mirror::meta_plain_member_variable_tag |
Tag for types conforming to the Mirror's MetaPlainMemberVariable concept. More... | |
struct | mirror::meta_parameter_tag |
Tag for types conforming to the Mirror's MetaParameter concept. More... | |
struct | mirror::meta_function_tag |
Tag for types conforming to the Mirror's MetaFunction concept. More... | |
struct | mirror::meta_member_function_tag |
Tag for types conforming to the Mirror's MetaMemberFunction concept. More... | |
struct | mirror::meta_constructor_tag |
Tag for types conforming to the Mirror's MetaConstructor concept. More... | |
struct | mirror::meta_conversion_operator_tag |
Tag for types conforming to the Mirror's MetaConversionOperator concept. More... | |
struct | mirror::meta_overloaded_functions_tag |
Tag for types conforming to the Mirror's MetaOverloadedFunctions concept. More... | |
struct | mirror::meta_locator_tag |
Tag for types conforming to the Mirror's MetaLocator concept. More... | |
struct | mirror::meta_traversal_tag |
Tag for types conforming to the Mirror's MetaTraversal concept. More... | |
struct | mirror::meta_inserter_tag |
Tag for types conforming to the Mirror's MetaInserter concept. More... | |
struct | mirror::meta_eraser_tag |
Tag for types conforming to the Mirror's MetaEraser concept. More... | |
struct | mirror::meta_container_tag |
Tag for types conforming to the Mirror's MetaContainer concept. More... | |
struct | mirror::meta_object_category< T > |
Template meta-function for getting the category tag of a type. More... | |
struct | mirror::meta_object_kind< T, CategoryTags > |
Template meta-function for getting a category tag of a type. More... | |
Functions | |
template<class T > | |
meta_object_category< T >::type | mirror::categorize_meta_object (const T &inst) |
This function returns the meta-object category tag for an instance. |
Tag types and categorization template meta-functions for tag dispatching. These tags, the categorization functions and template meta-functions can be used for creating different function overloads and template specializations for different meta-object categories and for the dispatching of the proper overload and/or template specialization for a particular meta-object type, based on its capabilities.
meta_object_category<T>::type mirror::categorize_meta_object | ( | const T & | inst | ) |
This function returns the meta-object category tag for an instance.
T | the type to be categorized |
inst | the instance type of which is to be categorized |