Mirror reflection library - Rubber type-erasure utility 0.5.13
Classes | Functions

rubber Namespace Reference

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)

Detailed Description

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.


Copyright © 2006-2011 Matus Chochlik, University of Zilina, Zilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Fri Dec 16 2011 by Doxygen (version 1.7.3).
Important note: Although the 'boostified' version of Mirror uses the Boost C++ libraries Coding Guidelines and is implemented inside of the boost namespace, it IS NOT an officially reviewed and accepted Boost library. Mirror is being developed with the intention to be submitted for review for inclusion to the Boost C++ libraries.