Mirror reflection library - Puddle compile-time layer 0.5.13

puddle::MetaNamedObject Struct Reference

MetaNamedObject is a type reflecting a construct (type, ...) having a name. More...

#include <puddle/doc/concepts.hpp>

Inheritance diagram for puddle::MetaNamedObject:
Collaboration diagram for puddle::MetaNamedObject:

List of all members.

Public Member Functions

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.
mirror::meta_named_object_tag category (void) const
template<typename Category >
Boolean is_a (Category) const
 Returns true if the meta-object is of the specified Category.

Friends

Boolean operator== (MetaObject, MetaObject)
 Equality comparison.
Boolean operator!= (MetaObject, MetaObject)
 Inequality comparison.

Detailed Description

MetaNamedObject is a type reflecting a construct (type, ...) having a name.

MetaNamedObject reflects base-level constructs which are identified by a name (identifier). Examples of named objects are types, namespaces, classes, functions, class members, etc. even if some of them might be anonymous. Meta objects reflecting these named objects provide functions for getting their names.

See also:
mirror::MetaNamedObject
mirror::meta_named_object_tag

Member Function Documentation

std::string puddle::MetaNamedObject::base_name ( void  ) const

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.

template<typename Category >
Boolean puddle::MetaObject::is_a ( Category  ) const [inherited]

Returns true if the meta-object is of the specified Category.

Template Parameters:
Categorya meta-object category tag type
See also:
mirror::meta_object_tag
mirror::categorize_meta_object
mirror::meta_object_category

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.