Mirror reflection library 0.5.13

mirror::MetaInheritance Struct Reference

MetaInheritance is a type reflecting class' base classes inheritance. More...

#include <mirror/doc/concepts.hpp>

Inheritance diagram for mirror::MetaInheritance:
Collaboration diagram for mirror::MetaInheritance:

List of all members.

Public Types

typedef MetaClass derived_class
 Reflects the derived class in this inheritance.
typedef InheritanceTypeTag inheritance_type
 The inheritance type tag.
typedef AccessTypeTag access_type
 The base class member access type tag.
typedef MetaClass base_class
 Reflects the base class in this inheritance.

Friends

struct derived_class< MetaInheritance >
 Meta-function returning the derived class in an class inheritance.
struct inheritance_type< MetaInheritance >
 Meta-function returning the inheritance type of the base class.
struct access_type< MetaInheritance >
 Meta-function returning the access type of the base class.
struct base_class< MetaInheritance >
 Meta-function returning the base class in an class inheritance.
meta_inheritance_tag categorize_meta_object (MetaInheritance)
struct is_a< MetaObject, ConceptTag >
 Meta-function for checking if the MetaObject conforms to a concept.
meta_object_tag categorize_meta_object (MetaObject)

Detailed Description

MetaInheritance is a type reflecting class' base classes inheritance.

See also:
meta_inheritance_tag
meta_object_category
categorize_meta_object

Member Typedef Documentation

The base class member access type tag.

Tag reflecting the member access type (private|protected|public) for the base class inheritance reflected by this meta_inheritance.

See also:
InheritanceTypeTag

The inheritance type tag.

Tag reflecting the inheritance type (virtual | non-virtual) for the inheritance reflected by this meta_inheritance.

See also:
InheritanceTypeTag

Friends And Related Function Documentation

friend struct access_type< MetaInheritance > [friend]

Meta-function returning the access type of the base class.

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

Returns:
AccessTypeTag
friend struct base_class< MetaInheritance > [friend]

Meta-function returning the base class in an class inheritance.

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

Returns:
MetaClass
meta_inheritance_tag categorize_meta_object ( MetaInheritance  ) [friend]
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&)
friend struct derived_class< MetaInheritance > [friend]

Meta-function returning the derived class in an class inheritance.

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

Returns:
MetaClass
friend struct inheritance_type< MetaInheritance > [friend]

Meta-function returning the inheritance type of the base class.

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

Returns:
InheritanceTypeTag
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

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.