Mirror reflection library 0.5.13

mirror::tag< Selector > Class Template Reference

Template for creating tag types which can be used for object tagging. More...

#include <mirror/object_tagging.hpp>

Inherits mirror::aux::tag_base.

List of all members.

Public Types

typedef tag type

Static Public Member Functions

static int id (void)
 Returns the identifier for the instantiation of this template.
static std::string name (void)
 Returns the name of the object tag.

Friends

template<typename OtherSelector >
bool operator== (const tag< Selector > &a, const tag< OtherSelector > &b)
template<typename OtherSelector >
bool operator!= (const tag< Selector > &a, const tag< OtherSelector > &b)
template<typename OtherSelector >
bool operator< (const tag< Selector > &a, const tag< OtherSelector > &b)
template<typename OtherSelector >
bool operator<= (const tag< Selector > &a, const tag< OtherSelector > &b)
template<typename OtherSelector >
bool operator> (const tag< Selector > &a, const tag< OtherSelector > &b)
template<typename OtherSelector >
bool operator>= (const tag< Selector > &a, const tag< OtherSelector > &b)

Detailed Description

template<typename Selector>
class mirror::tag< Selector >

Template for creating tag types which can be used for object tagging.

Instantiations of this template have a locally unique integral identifier, can provide the name of the tag and instances are comparable. Do not use this class directly, use the MIRROR_REG_OBJECT_TAG and the MIRROR_OBJECT_TAG macros instead.

See also:
MIRROR_REG_OBJECT_TAG
MIRROR_OBJECT_TAG

Member Function Documentation

template<typename Selector>
static int mirror::tag< Selector >::id ( void  ) [inline, static]

Returns the identifier for the instantiation of this template.

The identifiers can be used to distinguish between different instantiations of this template but are not persistent. This meanst that one instantiation can have different identifiers in different instances (runs) of the application.


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.