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.

Definition at line 66 of file object_id.hh.


Member Typedef Documentation

typedef Integer<void> mln::value::Integer< object_id< Tag, V > >::category [inherited]

Reimplemented from mln::value::Scalar< object_id< Tag, V > >.

Definition at line 60 of file concept/integer.hh.

template<typename Tag, typename V>
typedef V mln::util::object_id< Tag, V >::enc

Definition at line 72 of file object_id.hh.

template<typename Tag, typename V>
typedef unsigned mln::util::object_id< Tag, V >::equiv

Definition at line 71 of file object_id.hh.

typedef object_id< Tag, V > mln::Object< object_id< Tag, V > >::exact_t [inherited]

Definition at line 173 of file object.hh.

template<typename Tag, typename V>
typedef V mln::util::object_id< Tag, V >::value_t

The underlying type id.

Definition at line 70 of file object_id.hh.


Constructor & Destructor Documentation

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

Constructors.

Definition at line 120 of file object_id.hh.

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

Definition at line 128 of file object_id.hh.

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]

Definition at line 137 of file object_id.hh.


Member Function Documentation

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

Definition at line 190 of file object_id.hh.

References mln::util::object_id< Tag, V >::id_.

Referenced by mln::util::edge< G >::invalidate().

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

Definition at line 182 of file object_id.hh.

References mln::util::object_id< Tag, V >::id_.

Referenced by mln::util::edge< G >::is_valid().

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

Definition at line 173 of file object_id.hh.

References mln::util::object_id< Tag, V >::id_.

template<typename Tag , typename V >
template<typename V2 >
object_id< Tag, V > & mln::util::object_id< Tag, V >::operator= ( const V2 &  e  )  [inline]

Definition at line 147 of file object_id.hh.

References mln::util::object_id< Tag, V >::id_.

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

Definition at line 198 of file object_id.hh.

References mln::util::object_id< Tag, V >::id_.

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]

Definition at line 158 of file object_id.hh.

References mln::util::object_id< Tag, V >::id_.


Member Data Documentation

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