Mirror reflection library - Puddle compile-time layer 0.5.13

puddle::MetaInstance Struct Reference

MetaInstance is a type reflecting an instance of a type. More...

#include <puddle/doc/concepts.hpp>

List of all members.

Public Member Functions

MetaVariable variable (void) const
 Returns the variable of the instance.
Range< MetaInstanceattributes (void) const
 Returns a range of meta instances reflecting the member instances.
Type get (void) const
 Gets the value of the instance.
void set (Type value) const
 Sets a new value to the instance.
meta_instance_tag category (void) const
 Returns the category of the MetaObject.
template<typename Category >
Boolean is_a (Category) const
 Returns true if the meta-object is of the specified Category.

Detailed Description

MetaInstance is a type reflecting an instance of a type.

See also:
meta_instance_tag

Member Function Documentation

Range<MetaInstance> puddle::MetaInstance::attributes ( void  ) const

Returns a range of meta instances reflecting the member instances.

If the type of the instance is elaborated, and it has member variables, then this function returns a non-empty range of MetaInstances, which reflect the individual instances of the member variables.

meta_instance_tag puddle::MetaInstance::category ( void  ) const
template<typename Category >
Boolean puddle::MetaInstance::is_a ( Category  ) const

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

This function returns a true Boolean if the queried category is meta_instance tag and returns false Boolean otherwise.

Template Parameters:
Categorya meta-object category tag type
See also:
meta_instance_tag
mirror::meta_object_tag
mirror::categorize_meta_object
mirror::meta_object_category
MetaVariable puddle::MetaInstance::variable ( void  ) const

Returns the variable of the instance.

This function returns a MetaVariable reflecting the variable of the reflected instance


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.