DijkstraWizard Class Template Reference

#include <lemon/dijkstra.h>

List of all members.


Detailed Description

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

This class is created to make it easier to use Dijkstra algorithm. It uses the functions and features of the plain Dijkstra, but it is much simpler to use it.

Simplicity means that the way to change the types defined in the traits class is based on functions that returns the new class and not on templatable built-in classes. When using the plain Dijkstra the new class with the modified type comes from the original class by using the :: operator. In the case of DijkstraWizard only a function have to be called and it will return the needed class.

It does not have own run method. When its run method is called it initiates a plain Dijkstra class, and calls the Dijkstra::run method of it.


Public Member Functions

 DijkstraWizard ()
 Constructor.
 DijkstraWizard (const Graph &g, const LengthMap &l, Node s=INVALID)
 Constructor that requires parameters.
 DijkstraWizard (const TR &b)
 Copy constructor.
void run ()
 Runs Dijkstra algorithm from a given node.
void run (Node s)
 Runs Dijkstra algorithm from the given node.
template<class T>
DijkstraWizard< DefPredMapBase<
T > > 
predMap (const T &t)
 Named parameter function for setting PredMap type
template<class T>
DijkstraWizard< DefDistMapBase<
T > > 
distMap (const T &t)
 Named parameter function for setting DistMap type
DijkstraWizard< TR > & source (Node s)
 Sets the source node, from which the Dijkstra algorithm runs.

Private Types

typedef TR::Graph Graph
 The type of the underlying graph.
typedef TR::LengthMap LengthMap
 The type of the map that stores the edge lengths.
typedef LengthMap::Value Value
 The type of the length of the edges.
typedef TR::PredMap PredMap
 The type of the map that stores the last edges of the shortest paths.
typedef TR::DistMap DistMap
 The type of the map that stores the dists of the nodes.
typedef TR::Heap Heap
 The heap type used by the dijkstra algorithm.


Constructor & Destructor Documentation

DijkstraWizard ( const Graph g,
const LengthMap l,
Node  s = INVALID 
) [inline]

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


Member Function Documentation

void run (  )  [inline]

Runs Dijkstra algorithm from a given node. The node can be given by the source function.

void run ( Node  s  )  [inline]

Runs Dijkstra algorithm from the given node.

Parameters:
s is the given source.

DijkstraWizard<DefPredMapBase<T> > predMap ( const T &  t  )  [inline]

Named parameter function for setting PredMap type

DijkstraWizard<DefDistMapBase<T> > distMap ( const T &  t  )  [inline]

Named parameter function for setting DistMap type

DijkstraWizard<TR>& source ( Node  s  )  [inline]

Sets the source node, from which the Dijkstra algorithm runs.

Parameters:
s is the source node.


The documentation for this class was generated from the following file:
Generated on Tue Oct 31 09:50:10 2006 for LEMON by  doxygen 1.5.1