Mirror reflection library - Puddle compile-time layer 0.5.13
|
MetaNamespace is a type reflecting namespaces. More...
#include <puddle/doc/concepts.hpp>
Public Member Functions | |
Range< MetaNamespace > | namespaces (void) const |
Returns the nested namespaces in the namespace. | |
Range< MetaFreeVariable > | free_variables (void) const |
Returns the free variables in the namespace. | |
unspecified | free_variables_by_name (void) const |
Returns a type allowing to access variable meta-data by identifier. | |
unspecified * | operator-> (void) const |
Returns a type allowing to access variable meta-data by identifier. | |
Range< MetaOverloadedFunctions > | free_functions (void) const |
Returns the (overloaded) free functions in the namespace. | |
mirror::meta_namespace_tag | category (void) const |
Range< MetaNamedScopedObject > | members (void) const |
Returns the members of the reflected scope. | |
std::string | full_name (void) const |
Returns the full name of the reflected entity. | |
std::string | local_name (void) const |
Returns the local name of the reflected entity. | |
std::string | base_name (void) const |
Returns the base name of the reflected entity. | |
CompileTimeString | static_name (void) const |
Returns a compile-time string containing the base_name. | |
template<typename Category > | |
Boolean | is_a (Category) const |
Returns true if the meta-object is of the specified Category. | |
MetaScope | scope (void) const |
Returns a meta-object reflecting the scope of the scoped object. | |
Friends | |
Boolean | operator== (MetaObject, MetaObject) |
Equality comparison. | |
Boolean | operator!= (MetaObject, MetaObject) |
Inequality comparison. |
MetaNamespace is a type reflecting namespaces.
std::string puddle::MetaNamedObject::base_name | ( | void | ) | const [inherited] |
Returns the base name of the reflected entity.
This function returns the base name of the reflected construct (type, class, namespace, member variable, etc.) without the nested name specifier.
mirror::meta_namespace_tag puddle::MetaNamespace::category | ( | void | ) | const |
Reimplemented from puddle::MetaScope.
Range<MetaOverloadedFunctions> puddle::MetaNamespace::free_functions | ( | void | ) | const |
Returns the (overloaded) free functions in the namespace.
Returns a range of MetaOverloadedFunctions which are reflecting the free functions of the reflected namespace.
Range<MetaFreeVariable> puddle::MetaNamespace::free_variables | ( | void | ) | const |
Returns the free variables in the namespace.
Returns a range of MetaFreeVariable(s) which are reflecting the free variables of the reflected namespace.
unspecified puddle::MetaNamespace::free_variables_by_name | ( | void | ) | const |
Returns a type allowing to access variable meta-data by identifier.
Returns a type which provides member functors having the same names as the free variables in the reflected namespace. Invoking these nullary functors returns MetaFreeVariable reflecting the individual free variables.
std::string puddle::MetaNamedScopedObject::full_name | ( | void | ) | const [inherited] |
Returns the full name of the reflected entity.
This function returns the full name of the reflected construct (type, class, namespace, member variable, etc.) including the nested name specifier.
Boolean puddle::MetaObject::is_a | ( | Category | ) | const [inherited] |
Returns true if the meta-object is of the specified Category.
Category | a meta-object category tag type |
std::string puddle::MetaNamedScopedObject::local_name | ( | void | ) | const [inherited] |
Returns the local name of the reflected entity.
This function returns the local name of the reflected construct (type, class, namespace, member variable, etc.) including the partial or full nested name specifier, based on whether the parent scope or one of its enclosing scopes of the construct reflected by this MetaNamedScopedObject is used with the PUDDLE_USING_NAMESPACE macro.
Range<MetaNamespace> puddle::MetaNamespace::namespaces | ( | void | ) | const |
Returns the nested namespaces in the namespace.
Returns a range of MetaNamespace(s) which are reflecting the nested namespaces of the reflected namespace.
unspecified* puddle::MetaNamespace::operator-> | ( | void | ) | const |
Returns a type allowing to access variable meta-data by identifier.
MetaScope puddle::MetaScopedObject::scope | ( | void | ) | const [inherited] |
Returns a meta-object reflecting the scope of the scoped object.
The resulting type conforms to the MetaScope concept and provides meta-data about the scope which encloses the construct reflected by this MetaScopedObject.
Reimplemented in puddle::MetaClassMember, puddle::MetaEnumValue, puddle::MetaFreeVariable, and puddle::MetaContainer.