Mirror reflection library 0.5.13
|
Template for creating tag types which can be used for object tagging. More...
#include <mirror/object_tagging.hpp>
Inherits mirror::aux::tag_base.
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) |
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.
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.