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 Dfs the new class with the modified type comes from the original class by using the :: operator. In the case of DfsWizard 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 Dfs object, and calls the Dfs::run method of it. #include <lemon/dfs.h>
Public Member Functions | |
DfsWizard () | |
Constructor. | |
DfsWizard (const Graph &g, Node s=INVALID) | |
Constructor that requires parameters. | |
DfsWizard (const TR &b) | |
Copy constructor. | |
void | run () |
Runs Dfs algorithm from a given node. | |
void | run (Node s) |
Runs Dfs algorithm from the given node. | |
template<class T > | |
DfsWizard< DefPredMapBase< T > > | predMap (const T &t) |
template<class T > | |
DfsWizard< DefReachedMapBase< T > > | reachedMap (const T &t) |
template<class T > | |
DfsWizard< DefProcessedMapBase < T > > | processedMap (const T &t) |
template<class T > | |
DfsWizard< DefDistMapBase< T > > | distMap (const T &t) |
DfsWizard< TR > & | source (Node s) |
Sets the source node, from which the Dfs algorithm runs. | |
Private Types | |
typedef TR::Graph | Graph |
The type of the underlying graph. | |
typedef TR::ReachedMap | ReachedMap |
The type of the map that stores the reached nodes. | |
typedef TR::ProcessedMap | ProcessedMap |
The type of the map that stores the processed nodes. | |
typedef TR::PredMap | PredMap |
The type of the map that stores the last edges of the DFS paths. | |
typedef TR::DistMap | DistMap |
The type of the map that stores the distances of the nodes. |
Constructor that requires parameters. These parameters will be the default values for the traits class.
void run | ( | ) | [inline] |
void run | ( | Node | s | ) | [inline] |
Runs Dfs algorithm from the given node.
s | is the given source. |
DfsWizard<DefPredMapBase<T> > predMap | ( | const T & | t | ) | [inline] |
Named parameter function for setting PredMap type
DfsWizard<DefReachedMapBase<T> > reachedMap | ( | const T & | t | ) | [inline] |
Named parameter function for setting ReachedMap
DfsWizard<DefProcessedMapBase<T> > processedMap | ( | const T & | t | ) | [inline] |
Named parameter function for setting ProcessedMap
DfsWizard<DefDistMapBase<T> > distMap | ( | const T & | t | ) | [inline] |
Named parameter function for setting DistMap type
DfsWizard<TR>& source | ( | Node | s | ) | [inline] |
Sets the source node, from which the Dfs algorithm runs.
s | is the source node. |