All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
List of all members | Public Member Functions | Private Types
DfsWizard< TR > Class Template Reference

Detailed Description

template<class TR>
class lemon::DfsWizard< TR >

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

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

#include <lemon/dfs.h>

Inherits TR.

Public Member Functions

 DfsWizard ()
 Constructor.
 
 DfsWizard (const Digraph &g)
 Constructor that requires parameters.
 
 DfsWizard (const TR &b)
 Copy constructor.
 
void run (Node s)
 Runs DFS algorithm from the given source node.
 
bool run (Node s, Node t)
 Finds the DFS path between s and t.
 
void run ()
 Runs DFS algorithm to visit all nodes in the digraph.
 
template<class T >
DfsWizard< SetPredMapBase< T > > predMap (const T &t)
 
template<class T >
DfsWizard< SetReachedMapBase< T > > reachedMap (const T &t)
 
template<class T >
DfsWizard< SetDistMapBase< T > > distMap (const T &t)
 
template<class T >
DfsWizard< SetProcessedMapBase
< T > > 
processedMap (const T &t)
 
template<class T >
DfsWizard< SetPathBase< T > > path (const T &t)
 
DfsWizard dist (const int &d)
 

Private Types

typedef TR::Digraph Digraph
 The type of the digraph the algorithm runs on.
 
typedef TR::PredMap PredMap
 The type of the map that stores the predecessor arcs of the DFS paths.
 
typedef TR::DistMap DistMap
 The type of the map that stores the distances of the nodes.
 
typedef TR::ReachedMap ReachedMap
 The type of the map that indicates which nodes are reached.
 
typedef TR::ProcessedMap ProcessedMap
 The type of the map that indicates which nodes are processed.
 
typedef TR::Path Path
 The type of the DFS paths.
 

Constructor & Destructor Documentation

DfsWizard ( const Digraph g)
inline

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

Parameters
gThe digraph the algorithm runs on.

Member Function Documentation

void run ( Node  s)
inline

This method runs DFS algorithm from node s in order to compute the DFS path to each node.

bool run ( Node  s,
Node  t 
)
inline

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

Returns
true if t is reachable form s.
void run ( )
inline

This method runs DFS algorithm in order to compute the DFS path to each node.

DfsWizard<SetPredMapBase<T> > predMap ( const T &  t)
inline

Named parameter for setting PredMap object.

DfsWizard<SetReachedMapBase<T> > reachedMap ( const T &  t)
inline

Named parameter for setting ReachedMap object.

DfsWizard<SetDistMapBase<T> > distMap ( const T &  t)
inline

Named parameter for setting DistMap object.

DfsWizard<SetProcessedMapBase<T> > processedMap ( const T &  t)
inline

Named parameter for setting ProcessedMap object.

DfsWizard<SetPathBase<T> > path ( const T &  t)
inline

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

DfsWizard dist ( const int &  d)
inline

Named parameter for getting the distance of the target node.