Loading...
Searching...
No Matches
DijkstraWizard< TR > Class Template Reference

## Detailed Description

template<class TR>
class lemon::DijkstraWizard< TR >

This auxiliary class is created to implement the function-type interface of Dijkstra algorithm. It does not have own run() method, it uses the functions and features of the plain Dijkstra.

This class should only be used through the dijkstra() function, which makes it easier to use the algorithm.

Template Parameters

  TR | The traits class that defines various types used by the algorithm.

`#include <lemon/dijkstra.h>`

## Public Member Functions

| DijkstraWizard ()
| Constructor.
| DijkstraWizard (const Digraph &g, const LengthMap &l)
| Constructor that requires parameters.
| DijkstraWizard (const TR &b)
| Copy constructor.
void | run (Node s)
| Runs Dijkstra algorithm from the given source node.
bool | run (Node s, Node t)
| Finds the shortest path between `s` and `t`.
template<class T>
DijkstraWizard< SetPredMapBase< T > > | predMap (const T &t)
| Named parameter for setting the predecessor map.
template<class T>
DijkstraWizard< SetDistMapBase< T > > | distMap (const T &t)
| Named parameter for setting the distance map.
template<class T>
DijkstraWizard< SetProcessedMapBase< T > > | processedMap (const T &t)
| Named parameter for setting the processed map.
template<class T>
DijkstraWizard< SetPathBase< T > > | path (const T &t)
| Named parameter for getting the shortest path to the target node.
DijkstraWizard | dist (const Value &d)
| Named parameter for getting the distance of the target node.

## Constructor & Destructor Documentation

## DijkstraWizard()

template<class TR>

DijkstraWizard | ( | const Digraph & | g,
|  | const LengthMap & | l )

inline

Constructor that requires parameters. These parameters will be the default values for the traits class.

Parameters

  g | The digraph the algorithm runs on.
  l | The length map.

## Member Function Documentation

## run() [1/2]

template<class TR>

void run | ( | Node | s | ) |

inline

This method runs Dijkstra algorithm from the given source node in order to compute the shortest path to each node.

## run() [2/2]

template<class TR>

bool run | ( | Node | s,
|  | Node | t )

inline

This method runs the Dijkstra algorithm from node `s` in order to compute the shortest path to node `t` (it stops searching when `t` is processed).

Returns
  `true` if `t` is reachable form `s`.

## predMap()

template<class TR>
template<class T>

DijkstraWizard< SetPredMapBase< T > > predMap | ( | const T & | t | ) |

inline

Named parameter function for setting the map that stores the predecessor arcs of the nodes.

## distMap()

template<class TR>
template<class T>

DijkstraWizard< SetDistMapBase< T > > distMap | ( | const T & | t | ) |

inline

Named parameter function for setting the map that stores the distances of the nodes calculated by the algorithm.

## processedMap()

template<class TR>
template<class T>

DijkstraWizard< SetProcessedMapBase< T > > processedMap | ( | const T & | t | ) |

inline

Named parameter function for setting the map that indicates which nodes are processed.

## path()

template<class TR>
template<class T>

DijkstraWizard< SetPathBase< T > > path | ( | const T & | t | ) |

inline

Named parameter for getting the shortest path to the target node.

## dist()

template<class TR>

DijkstraWizard dist | ( | const Value & | d | ) |

inline

Named parameter for getting the distance of the target node.