Mirror reflection library 0.5.13

mirror::MetaFreeVariable Struct Reference

MetaFreeVariable is a type reflecting free variable. More...

#include <mirror/doc/concepts.hpp>

Inheritance diagram for mirror::MetaFreeVariable:
Collaboration diagram for mirror::MetaFreeVariable:

List of all members.

Public Types

typedef MetaNamespace scope
 Reflects the namespace to which the reflected variable belongs.
typedef StorageClassTag storage_class
 The storage class tag.
typedef MetaType type
 MetaType reflecting the type of the variable.

Static Public Member Functions

static Type get (void)
 Gets the value of the global variable.
static void set (Type new_value)
 Sets the value of the free variable.
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_free_variable_tag categorize_meta_object (MetaFreeVariable)
struct storage_class< MetaVariable >
 Meta-function returning the storage class of the variable.
struct type_of< MetaVariable >
 Meta-function returning the type of the variable.
meta_variable_tag categorize_meta_object (MetaVariable)
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 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


Member Typedef Documentation

The storage class tag.

Tag reflecting the storage class (auto|static|mutable|...) for the reflected variable.

See also:
StorageClassTag;

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 Type mirror::MetaFreeVariable::get ( void  ) [static]

Gets the value of the global variable.

This function allows to get the value of the global variable reflected by this MetaFreeVariable

Returns:
The result has the same type as the global variable.
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
static void mirror::MetaFreeVariable::set ( Type  new_value) [static]

Sets the value of the free variable.

This function allows to set the value of the free variable reflected by this MetaFreeVariable to the new_value.

Template Parameters:
Typethe type of the value to be set. This type must be implicitly convertible to the type of the member variable.
Parameters:
new_valuethe new value to be set to the member variable of the passed instance.

Friends And Related Function Documentation

meta_free_variable_tag categorize_meta_object ( MetaFreeVariable  ) [friend]
See also:
meta_object_category
categorize_meta_object(const T&)
meta_variable_tag categorize_meta_object ( MetaVariable  ) [friend, inherited]
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_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_named_object_tag categorize_meta_object ( MetaNamedObject  ) [friend, inherited]
See also:
meta_object_category
categorize_meta_object(const T&)
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 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
friend struct storage_class< MetaVariable > [friend, inherited]

Meta-function returning the storage class of the variable.

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

Returns:
StorageClassTag
friend struct type_of< MetaVariable > [friend, inherited]

Meta-function returning the type of the variable.

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

Returns:
MetaType

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.