Mirror reflection library - Rubber type-erasure utility 0.5.13

rubber::meta_member_function Class Reference

Class erasing the type of Mirror's MetaMemberFunctions. More...

#include <rubber/meta_objects.hpp>

Inheritance diagram for rubber::meta_member_function:
Collaboration diagram for rubber::meta_member_function:

List of all members.

Public Member Functions

template<typename MetaMemberFunction >
 meta_member_function (MetaMemberFunction mo)
 Constructor erasing the type of a MetaMemberFunction.
const specifierstorage_class (void) const
 Returns the storage class specifier of the reflected function.
const specifierlinkage (void) const
 Returns the linkage specifier of the reflected member function.
const specifierconstness (void) const
 Returns the constness class specifier of the reflected function.
meta_type result_type (void) const
 Returns a meta_type reflecting the result type of the function.
range< meta_parameterparameters (void) const
 Returns the parameters of the function.
range< meta_named_scoped_objectmembers (void) const
 Returns a range of members of the reflected scope.
std::string full_name (void) const
 Returns the fully specified path of the reflected named object.
std::string local_name (void) const
 Returns the local name of the reflected named object.
meta_scope scope (void) const
 Returns the scope of the reflected scoped object.
int uid (void) const
 Returns a (run-time) unique identifier of the meta-object.
aux::return_value
< meta_meta_object >::type 
self (void) const
 Returns the meta_meta_object reflecting this meta-object.
puddle::meta_object_category category (void) const
 Returns the category of this meta-object.
bool is_X (void) const
 A set of member functions indicating this meta-object's category.
std::string base_name (void) const
 Returns the base-name of the reflected entity.
const specifieraccess_type (void) const
 Returns the access type specifier of the class member.
std::string full_name (void) const
 Returns the fully specified path of the reflected named object.
std::string local_name (void) const
 Returns the local name of the reflected named object.
meta_scope scope (void) const
 Returns the scope of the reflected scoped object.
std::string base_name (void) const
 Returns the base-name of the reflected entity.

Friends

bool operator== (const meta_object &a, const meta_object &b)
 Equality comparison.
bool operator!= (const meta_object &a, const meta_object &b)
 Inequality comparison.
bool operator<= (const meta_object &a, const meta_object &b)
 Less-equal comparison.
bool operator>= (const meta_object &a, const meta_object &b)
 Greater-equal comparison.
bool operator< (const meta_object &a, const meta_object &b)
 Less-than comparison.
bool operator> (const meta_object &a, const meta_object &b)
 Greater-than comparison.

Detailed Description

Class erasing the type of Mirror's MetaMemberFunctions.

See also:
mirror::MetaMemberFunction

Member Function Documentation

bool rubber::meta_object::is_X ( void  ) const [inherited]

A set of member functions indicating this meta-object's category.

This is not a single member-function, it is instead a set of functions like is_type, is_namespace, is_variable, etc. returning true or false based on whether this meta-object is of a particular kind.

See also:
category
as
std::string rubber::meta_named_scoped_object::local_name ( void  ) const [inline, inherited]

Returns the local name of the reflected named object.

This member function if available only if the #RUBBER_MSNO_WITH_LOCAL_NAME preprocessor symbol is defined with a nonzero integer value.

See also:
mirror::MetaNamedScopedObject::local_name()
base_name
full_name
std::string rubber::meta_named_scoped_object::local_name ( void  ) const [inline, inherited]

Returns the local name of the reflected named object.

This member function if available only if the #RUBBER_MSNO_WITH_LOCAL_NAME preprocessor symbol is defined with a nonzero integer value.

See also:
mirror::MetaNamedScopedObject::local_name()
base_name
full_name

The documentation for this class 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.