Mirror reflection library - Rubber type-erasure utility 0.5.13
|
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... |
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.