All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions
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

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
 This class represents the inverse of its owner (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)
 
InverseMap inverse () const
 Gives back the inverse of the map.
 

Constructor & Destructor Documentation

IdMap ( const Graph graph)
inlineexplicit

Constructor of the map.

Member Function Documentation

int operator[] ( const Item item) const
inline

Gives back the immutable and unique id of the item.

Item operator() ( int  id)
inline

Gives back the item by its id.

InverseMap inverse ( ) const
inline

Gives back the inverse of the IdMap.