Public Types | Public Member Functions | Protected Attributes

mln::util::object_id< Tag, V > Class Template Reference

Base class of an object id. More...

#include <object_id.hh>

Inheritance diagram for mln::util::object_id< Tag, V >:
Inheritance graph

List of all members.

Public Types

typedef Integer< void > category
typedef V enc
typedef unsigned equiv
typedef object_id< Tag, V > exact_t
typedef V value_t
 The underlying type id.

Public Member Functions

void invalidate ()
bool is_valid () const
 operator unsigned () const
template<typename V2 >
object_id< Tag, V > & operator= (const V2 &e)
unsigned to_equiv () const
const V & value () const
V & value ()

 object_id ()
 Constructors.
template<typename V2 >
 object_id (const V2 &id)
template<typename Tag2 , typename V2 >
 object_id (const object_id< Tag2, V2 > &other)

Protected Attributes

id_

Detailed Description

template<typename Tag, typename V>
class mln::util::object_id< Tag, V >

Base class of an object id.

Template Parameters:
Tag the tag type
Equiv the equivalent value.

Member Typedef Documentation

typedef Integer<void> mln::value::Integer< object_id< Tag, V > >::category [inherited]
template<typename Tag, typename V>
typedef V mln::util::object_id< Tag, V >::enc
template<typename Tag, typename V>
typedef unsigned mln::util::object_id< Tag, V >::equiv
typedef object_id< Tag, V > mln::Object< object_id< Tag, V > >::exact_t [inherited]
template<typename Tag, typename V>
typedef V mln::util::object_id< Tag, V >::value_t

The underlying type id.


Constructor & Destructor Documentation

template<typename Tag , typename V >
mln::util::object_id< Tag, V >::object_id (  )  [inline]

Constructors.

template<typename Tag , typename V >
template<typename V2 >
mln::util::object_id< Tag, V >::object_id ( const V2 &  id  )  [inline]
template<typename Tag , typename V >
template<typename Tag2 , typename V2 >
mln::util::object_id< Tag, V >::object_id ( const object_id< Tag2, V2 > &  other  )  [inline]

Member Function Documentation

template<typename Tag , typename V >
void mln::util::object_id< Tag, V >::invalidate (  )  [inline]
template<typename Tag , typename V >
bool mln::util::object_id< Tag, V >::is_valid (  )  const [inline]
template<typename Tag , typename V >
mln::util::object_id< Tag, V >::operator unsigned (  )  const [inline]
template<typename Tag , typename V >
template<typename V2 >
object_id< Tag, V > & mln::util::object_id< Tag, V >::operator= ( const V2 &  e  )  [inline]
template<typename Tag , typename V >
unsigned mln::util::object_id< Tag, V >::to_equiv (  )  const [inline]
template<typename Tag , typename V >
const V & mln::util::object_id< Tag, V >::value (  )  const [inline]
template<typename Tag , typename V >
V & mln::util::object_id< Tag, V >::value (  )  [inline]

Member Data Documentation

template<typename Tag, typename V>
V mln::util::object_id< Tag, V >::id_ [protected]