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>
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. | |
| 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.
| void run | ( | ) | [inline] |
| void run | ( | Node | s | ) | [inline] |
Runs Dijkstra algorithm from the given node.
| 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.
| s | is the source node. |
1.5.9