DijkstraWizard< TR > Class Template Reference


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. #include <lemon/dijkstra.h>

List of all members.

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)
template<class T >
DijkstraWizard< DefDistMapBase
< T > > 
distMap (const T &t)
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.


Generated on Thu Jun 4 04:04:03 2009 for LEMON by  doxygen 1.5.9