Mirror reflection library - Rubber type-erasure utility 0.5.13
|
The Rubber type-erasure utility for the Mirror meta-objects is defined in this namespace. More...
Classes | |
class | meta_meta_object |
Meta-meta-object reflecting a meta-object. More... | |
class | meta_object |
General meta-object type-erasure. More... | |
class | meta_named_object |
Class erasing the type of Mirror's MetaNamedObjects. More... | |
class | meta_scoped_object |
Class erasing the type of Mirror's MetaScopedObjects. More... | |
class | meta_named_scoped_object |
Class erasing the type of Mirror's MetaNamedScopedObjects. More... | |
class | meta_scope |
Class erasing the type of Mirror's MetaScopes. More... | |
class | meta_namespace |
Class erasing the type of Mirror's MetaNamespaces. More... | |
class | meta_global_scope |
Class erasing the type of Mirror's MetaGlobalScope. More... | |
class | meta_type |
Class erasing the type of Mirror's MetaTypes. More... | |
class | meta_typedef |
Class erasing the type of Mirror's MetaTypedefs. More... | |
class | meta_type_template |
Class erasing the type of Mirror's MetaTypeTemplates. More... | |
class | meta_templated_type |
Class erasing the type of Mirror's MetaTemplatedTypes. More... | |
class | meta_class |
Class erasing the type of Mirror's MetaClasses. More... | |
struct | meta_templated_class |
Class erasing the type of Mirror's MetaTemplatedClasses. More... | |
class | meta_inheritance |
Class erasing the type of Mirror's MetaInheritances. More... | |
class | meta_enum_value |
Class erasing the type of Mirror's MetaEnumValues. More... | |
class | meta_enum |
Class erasing the type of Mirror's MetaEnums. More... | |
class | meta_class_member |
Class erasing the type of Mirror's MetaClassMembers. More... | |
class | meta_variable |
Class erasing the type of Mirror's MetaVariables. More... | |
class | meta_plain_variable |
Class erasing the type of Mirror's MetaPlainVariables. More... | |
class | meta_free_variable |
Class erasing the type of Mirror's MetaFreeVariables. More... | |
class | meta_plain_free_variable |
Class erasing the type of Mirror's MetaPlainFreeVariables. More... | |
class | meta_member_variable |
Class erasing the type of Mirror's MetaMemberVariables. More... | |
class | meta_plain_member_variable |
Class erasing the type of Mirror's MetaPlainMemberVariables. More... | |
class | meta_parameter |
Class erasing the type of Mirror's MetaParameter. More... | |
class | meta_function |
Class erasing the type of Mirror's MetaFunctions. More... | |
class | meta_constructor |
Class erasing the type of Mirror's MetaConstructors. More... | |
class | meta_overloaded_functions |
Class erasing the type of Mirror's MetaOverloadedFunctions. More... | |
class | meta_member_function |
Class erasing the type of Mirror's MetaMemberFunctions. More... | |
class | meta_traversal |
Class erasing the type of Mirror's MetaTraversals. More... | |
class | meta_locator |
Class erasing the type of Mirror's MetaLocators. More... | |
class | meta_inserter |
Class erasing the type of Mirror's MetaInserters. More... | |
class | meta_eraser |
Class erasing the type of Mirror's MetaErasers. More... | |
class | meta_container |
Class erasing the type of Mirror's MetaContainers. More... | |
struct | iteration_info |
Helper structure used by the range::for_each_ii member function. More... | |
class | range |
Class wrapping the Mirror's compile time Ranges. More... | |
class | specifier |
Class wrapping Mirror's Specifiers. More... | |
Functions | |
template<class MirrorMetaObject > | |
auto | erase_type (void)-> decltype(wrap< MirrorMetaObject >()) |
template<class MirrorMetaObject > | |
auto | erase_type (const puddle::aux::meta_type< MirrorMetaObject > &mo)-> decltype(wrap< MirrorMetaObject >()) |
template<typename Wrapper > | |
puddle::meta_object_category | categorize_wrapper (Wrapper *) |
template<class TypeErased , class MirrorMetaObject > | |
aux::return_value< TypeErased > ::type | wrap_into (const MirrorMetaObject &mo) |
template<class MetaObjectTag , class MirrorMetaObject > | |
aux::return_value< typename wrapper_by_tag< MetaObjectTag > ::type >::type | wrap_by_tag (const MirrorMetaObject &mo) |
template<class MirrorMetaObject > | |
aux::return_value< typename wrapper_by_tag< typename mirror::meta_object_category < MirrorMetaObject >::type > ::type >::type | wrap (void) |
template<class MirrorMetaObject , class TypeErased > | |
aux::return_value< TypeErased > ::type | wrap_shaped (void) |
The Rubber type-erasure utility for the Mirror meta-objects is defined in this namespace.
The Rubber is a type-erasure utility which is built on top of the compile-time meta-objects provided by Mirror.