My Project
Loading...
Searching...
No Matches
IdMap< GR, K > Class Template Reference

Detailed Description

template<typename GR, typename K>
class lemon::IdMap< GR, K >

IdMap provides a unique and immutable id for each item of the same type (Node, Arc or Edge) in a graph. This id is

  • unique: different items get different ids,
  • immutable: the id of an item does not change (even if you delete other nodes).

Using this map you get access (i.e. can read) the inner id values of the items stored in the graph, which is returned by the id() function of the graph. This map can be inverted with its member class InverseMap or with the operator()() member.

Template Parameters
GRThe graph type.
KThe key type of the map (GR::Node, GR::Arc or GR::Edge).
See also
RangeIdMap

#include <lemon/maps.h>

+ Inheritance diagram for IdMap< GR, K >:

Classes

class  InverseMap
 The inverse map type of IdMap. More...
 

Public Types

typedef GR Graph
 The graph type of IdMap.
 
typedef K Item
 The key type of IdMap (Node, Arc or Edge).
 
typedef K Key
 The key type of IdMap (Node, Arc or Edge).
 
typedef int Value
 The value type of IdMap.
 
- Public Types inherited from MapBase< K, int >
typedef K Key
 The key type of the map.
 
typedef int Value
 The value type of the map. (The type of objects associated with the keys).
 

Public Member Functions

 IdMap (const Graph &graph)
 Constructor.
 
int operator[] (const Item &item) const
 Gives back the id of the item.
 
Item operator() (int id)
 Gives back the item by its id.
 
InverseMap inverse () const
 Gives back the inverse of the map.
 

Related Symbols

(Note that these are not member symbols.)

template<typename K , typename GR >
IdMap< GR, K > idMap (const GR &graph)
 Returns an IdMap class.
 

Constructor & Destructor Documentation

◆ IdMap()

template<typename GR , typename K >
IdMap ( const Graph & graph)
inlineexplicit

Constructor of the map.

Member Function Documentation

◆ operator[]()

template<typename GR , typename K >
int operator[] ( const Item & item) const
inline

Gives back the immutable and unique id of the item.

◆ operator()()

template<typename GR , typename K >
Item operator() ( int id)
inline

Gives back the item by its id.

◆ inverse()

template<typename GR , typename K >
InverseMap inverse ( ) const
inline

Gives back the inverse of the IdMap.