Loading...
Searching...
No Matches
Dijkstra< GR, LEN, TR >::SetDistMap< T > Struct Template Reference

## Detailed Description

template<typename GR, typename LEN, typename TR>
template<class T>
struct lemon::Dijkstra< GR, LEN, TR >::SetDistMap< T >

`DistMap` type. Named parameter for setting `DistMap` type. It must conform to the WriteMap concept.

`#include <lemon/dijkstra.h>`

Inheritance diagram for Dijkstra< GR, LEN, TR >::SetDistMap< T >:
[legend]

## Additional Inherited Members

Public Types inherited from Dijkstra< Digraph, LengthMap, SetDistMapTraits< T > >
typedef SetDistMapTraits< T >::Digraph | Digraph
| The type of the digraph the algorithm runs on.
typedef SetDistMapTraits< T >::Value | Value
| The type of the arc lengths.
typedef SetDistMapTraits< T >::LengthMap | LengthMap
| The type of the map that stores the arc lengths.
typedef SetDistMapTraits< T >::PredMap | PredMap
| The type of the map that stores the predecessor arcs of the shortest paths.
typedef SetDistMapTraits< T >::DistMap | DistMap
| The type of the map that stores the distances of the nodes.
typedef SetDistMapTraits< T >::ProcessedMap | ProcessedMap
| The type of the map that indicates which nodes are processed.
typedef PredMapPath< Digraph, PredMap > | Path
| The type of the paths.
typedef SetDistMapTraits< T >::HeapCrossRef | HeapCrossRef
| The cross reference type used for the current heap.
typedef SetDistMapTraits< T >::Heap | Heap
| The heap type used by the algorithm.
typedef SetDistMapTraits< T >::OperationTraits | OperationTraits
| The operation traits class of the algorithm.
typedef SetDistMapTraits< T > | Traits
| The traits class of the algorithm.
Public Member Functions inherited from Dijkstra< Digraph, LengthMap, SetDistMapTraits< T > >
| Dijkstra (const Digraph &g, const LengthMap &length)
| Constructor.
| ~Dijkstra ()
| Destructor.
Dijkstra & | lengthMap (const LengthMap &m)
| Sets the length map.
Dijkstra & | predMap (PredMap &m)
| Sets the map that stores the predecessor arcs.
Dijkstra & | processedMap (ProcessedMap &m)
| Sets the map that indicates which nodes are processed.
Dijkstra & | distMap (DistMap &m)
| Sets the map that stores the distances of the nodes.
Dijkstra & | heap (Heap &hp, HeapCrossRef &cr)
| Sets the heap and the cross reference used by algorithm.
void | init ()
| Initializes the internal data structures.
void | addSource (Node s, Value dst=OperationTraits::zero())
| Adds a new source node.
Node | processNextNode ()
| Processes the next node in the priority heap.
Node | nextNode () const
| The next node to be processed.
bool | emptyQueue () const
| Returns `false` if there are nodes to be processed.
int | queueSize () const
| Returns the number of the nodes to be processed.
void | start ()
| Executes the algorithm.
void | start (Node t)
| Executes the algorithm until the given target node is processed.
Node | start (const NodeBoolMap &nm)
| Executes the algorithm until a condition is met.
void | run (Node s)
| Runs the algorithm from the given source node.
bool | run (Node s, Node t)
| Finds the shortest path between `s` and `t`.
Path | path (Node t) const
| The shortest path to the given node.
Value | dist (Node v) const
| The distance of the given node from the root(s).
Arc | predArc (Node v) const
| Returns the 'previous arc' of the shortest path tree for the given node.
Node | predNode (Node v) const
| Returns the 'previous node' of the shortest path tree for the given node.
const DistMap & | distMap () const
| Returns a const reference to the node map that stores the distances of the nodes.
const PredMap & | predMap () const
| Returns a const reference to the node map that stores the predecessor arcs.
bool | reached (Node v) const
| Checks if the given node is reached from the root(s).
bool | processed (Node v) const
| Checks if a node is processed.
Value | currentDist (Node v) const
| The current distance of the given node from the root(s).