Mirror reflection library 0.5.13

mirror::MetaGlobalScope Struct Reference

MetaGlobalScope is a type reflecting the global scope namespace. More...

#include <mirror/doc/concepts.hpp>

Inheritance diagram for mirror::MetaGlobalScope:
Collaboration diagram for mirror::MetaGlobalScope:

List of all members.

Public Types

typedef MetaGlobalScope scope
 A type reflecting the scope of the global scope.

Static Public Member Functions

static std::string full_name (void)
 Returns the full name of the reflected entity.
static std::string local_name (void)
 Returns the local name of the reflected entity.
static std::string base_name (void)
 Returns the base name of the reflected entity.

Friends

meta_global_scope_tag categorize_meta_object (MetaNamespace)
struct namespaces< MetaNamespace >
struct free_variables< MetaNamespace >
struct free_functions< MetaNamespace >
meta_scope_tag categorize_meta_object (MetaScope)
meta_named_scoped_object_tag categorize_meta_object (MetaNamedScopedObject)
meta_named_object_tag categorize_meta_object (MetaNamedObject)
meta_object_tag categorize_meta_object (MetaObject)
meta_scoped_object_tag categorize_meta_object (MetaScopedObject)
struct members< MetaScope >
struct is_a< MetaObject, ConceptTag >
 Meta-function for checking if the MetaObject conforms to a concept.
struct scope< MetaScopedObject >
 Meta-function returning the scope of the scoped object.

Detailed Description

MetaGlobalScope is a type reflecting the global scope namespace.

See also:
meta_global_scope_tag
meta_object_category
categorize_meta_object

Member Function Documentation

static std::string mirror::MetaNamedObject::base_name ( void  ) [static, 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.

static std::string mirror::MetaNamedScopedObject::full_name ( void  ) [static, 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.

Examples:
mirror/example/meta_prog_01.cpp, mirror/example/meta_prog_02.cpp, mirror/example/meta_prog_04.cpp, mirror/example/meta_prog_05.cpp, mirror/example/meta_prog_06.cpp, mirror/example/meta_prog_07.cpp, mirror/example/meta_prog_08.cpp, mirror/example/meta_prog_09.cpp, mirror/example/meta_prog_10.cpp, and mirror/example/meta_prog_11.cpp.
static std::string mirror::MetaNamedScopedObject::local_name ( void  ) [static, 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 MIRROR_USING_NAMESPACE macro.

See also:
MIRROR_USING_NAMESPACE

Friends And Related Function Documentation

meta_global_scope_tag categorize_meta_object ( MetaNamespace  ) [friend]
See also:
meta_object_category
categorize_meta_object(const T&)

Reimplemented from mirror::MetaNamespace.

meta_scope_tag categorize_meta_object ( MetaScope  ) [friend, inherited]
See also:
meta_object_category
categorize_meta_object(const T&)
meta_object_tag categorize_meta_object ( MetaObject  ) [friend, inherited]

This function can be used to determine if a type is a MetaObject

See also:
meta_object_category
categorize_meta_object(const T&)
meta_scoped_object_tag categorize_meta_object ( MetaScopedObject  ) [friend, inherited]
See also:
meta_object_category
categorize_meta_object(const T&)
meta_named_scoped_object_tag categorize_meta_object ( MetaNamedScopedObject  ) [friend, inherited]
See also:
meta_object_category
categorize_meta_object(const T&)
meta_named_object_tag categorize_meta_object ( MetaNamedObject  ) [friend, inherited]
See also:
meta_object_category
categorize_meta_object(const T&)
friend struct free_functions< MetaNamespace > [friend, inherited]

Meta-function returning a range of MetaOverloadedFunctions

See also:
MetaOverloadedFunctions
mp::range
Returns:
Range<MetaOverloadedFunctions>
friend struct free_variables< MetaNamespace > [friend, inherited]

Meta-function returning a range of MetaFreeVariables which are reflecting the free variables of the reflected namespace.

See also:
mp::range
Returns:
Range<MetaFreeVariable>
friend struct is_a< MetaObject, ConceptTag > [friend, inherited]

Meta-function for checking if the MetaObject conforms to a concept.

This meta-function returns std::true_type if a MetaObject conforms to the concept identified by the ConceptTag. Returns std::false_type otherwise.

Returns:
BooleanConstantType
friend struct members< MetaScope > [friend, inherited]

Meta-function returning a range of MetaScopedObjects which are reflecting the individual members of the scope.

See also:
members
mp::range
Returns:
Range<MetaScopedObject>
friend struct namespaces< MetaNamespace > [friend, inherited]

Meta-function returning a range of MetaNamespaces which are reflecting the nested namespaces of the reflected namespace.

See also:
mp::range
Returns:
Range<MetaNamespace>
friend struct scope< MetaScopedObject > [friend, inherited]

Meta-function returning the scope of the scoped object.

This meta-function "returns" the same MetaScope as the scope member typedef, but is better suited for algorithms using lambda placeholder expressions.

Returns:
MetaScope

The documentation for this struct was generated from the following file:

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.