Mirror reflection library - Rubber type-erasure utility 0.5.13
Classes

Rubber - Type-erased meta-objects, specifiers, etc.

Classes

class  rubber::meta_meta_object
 Meta-meta-object reflecting a meta-object. More...
class  rubber::meta_object
 General meta-object type-erasure. More...
class  rubber::meta_named_object
 Class erasing the type of Mirror's MetaNamedObjects. More...
class  rubber::meta_scoped_object
 Class erasing the type of Mirror's MetaScopedObjects. More...
class  rubber::meta_named_scoped_object
 Class erasing the type of Mirror's MetaNamedScopedObjects. More...
class  rubber::meta_scope
 Class erasing the type of Mirror's MetaScopes. More...
class  rubber::meta_namespace
 Class erasing the type of Mirror's MetaNamespaces. More...
class  rubber::meta_global_scope
 Class erasing the type of Mirror's MetaGlobalScope. More...
class  rubber::meta_type
 Class erasing the type of Mirror's MetaTypes. More...
class  rubber::meta_typedef
 Class erasing the type of Mirror's MetaTypedefs. More...
class  rubber::meta_type_template
 Class erasing the type of Mirror's MetaTypeTemplates. More...
class  rubber::meta_templated_type
 Class erasing the type of Mirror's MetaTemplatedTypes. More...
class  rubber::meta_class
 Class erasing the type of Mirror's MetaClasses. More...
struct  rubber::meta_templated_class
 Class erasing the type of Mirror's MetaTemplatedClasses. More...
class  rubber::meta_inheritance
 Class erasing the type of Mirror's MetaInheritances. More...
class  rubber::meta_enum_value
 Class erasing the type of Mirror's MetaEnumValues. More...
class  rubber::meta_enum
 Class erasing the type of Mirror's MetaEnums. More...
class  rubber::meta_class_member
 Class erasing the type of Mirror's MetaClassMembers. More...
class  rubber::meta_variable
 Class erasing the type of Mirror's MetaVariables. More...
class  rubber::meta_plain_variable
 Class erasing the type of Mirror's MetaPlainVariables. More...
class  rubber::meta_free_variable
 Class erasing the type of Mirror's MetaFreeVariables. More...
class  rubber::meta_plain_free_variable
 Class erasing the type of Mirror's MetaPlainFreeVariables. More...
class  rubber::meta_member_variable
 Class erasing the type of Mirror's MetaMemberVariables. More...
class  rubber::meta_plain_member_variable
 Class erasing the type of Mirror's MetaPlainMemberVariables. More...
class  rubber::meta_parameter
 Class erasing the type of Mirror's MetaParameter. More...
class  rubber::meta_function
 Class erasing the type of Mirror's MetaFunctions. More...
class  rubber::meta_constructor
 Class erasing the type of Mirror's MetaConstructors. More...
class  rubber::meta_overloaded_functions
 Class erasing the type of Mirror's MetaOverloadedFunctions. More...
class  rubber::meta_member_function
 Class erasing the type of Mirror's MetaMemberFunctions. More...
class  rubber::meta_traversal
 Class erasing the type of Mirror's MetaTraversals. More...
class  rubber::meta_locator
 Class erasing the type of Mirror's MetaLocators. More...
class  rubber::meta_inserter
 Class erasing the type of Mirror's MetaInserters. More...
class  rubber::meta_eraser
 Class erasing the type of Mirror's MetaErasers. More...
class  rubber::meta_container
 Class erasing the type of Mirror's MetaContainers. More...
class  rubber::range< TypeErased >
 Class wrapping the Mirror's compile time Ranges. More...
class  rubber::specifier
 Class wrapping Mirror's Specifiers. More...

Detailed Description

Rubber defines types which (with several minor exceptions) follow the interitance hierarchy of Mirror's concepts and erase the types of the types conforming to those concepts. This allows for example to separate algorithms from real types of the meta-object.

Optionally, if the RUBBER_POLYMORPHIC_META_OBJECT preprocessor symbol is defined, Rubber's meta-object can be even more polymorphic and allow downcasting to more specialized meta-objects from generalizations.


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.