Loading...
Searching...
No Matches
Bfs< GR, TR >::SetPredMap< T > Struct Template Reference

## Detailed Description

template<typename GR, typename TR>
template<class T>
struct lemon::Bfs< GR, TR >::SetPredMap< T >

`PredMap` type. Named parameter for setting `PredMap` type. It must conform to the WriteMap concept.

`#include <lemon/bfs.h>`

Inheritance diagram for Bfs< GR, TR >::SetPredMap< T >:
[legend]

## Additional Inherited Members

Public Types inherited from Bfs< Digraph, SetPredMapTraits< T > >
typedef SetPredMapTraits< T >::Digraph | Digraph
| The type of the digraph the algorithm runs on.
typedef SetPredMapTraits< T >::PredMap | PredMap
| The type of the map that stores the predecessor arcs of the shortest paths.
typedef SetPredMapTraits< T >::DistMap | DistMap
| The type of the map that stores the distances of the nodes.
typedef SetPredMapTraits< T >::ReachedMap | ReachedMap
| The type of the map that indicates which nodes are reached.
typedef SetPredMapTraits< T >::ProcessedMap | ProcessedMap
| The type of the map that indicates which nodes are processed.
typedef PredMapPath< Digraph, PredMap > | Path
| The type of the paths.
typedef SetPredMapTraits< T > | Traits
| The traits class of the algorithm.
Public Member Functions inherited from Bfs< Digraph, SetPredMapTraits< T > >
| Bfs (const Digraph &g)
| Constructor.
| ~Bfs ()
| Destructor.
Bfs & | predMap (PredMap &m)
| Sets the map that stores the predecessor arcs.
Bfs & | reachedMap (ReachedMap &m)
| Sets the map that indicates which nodes are reached.
Bfs & | processedMap (ProcessedMap &m)
| Sets the map that indicates which nodes are processed.
Bfs & | distMap (DistMap &m)
| Sets the map that stores the distances of the nodes.
void | init ()
| Initializes the internal data structures.
void | addSource (Node s)
| Adds a new source node.
Node | processNextNode ()
| Processes the next node.
Node | processNextNode (Node target, bool &reach)
| Processes the next node.
Node | processNextNode (const NM &nm, Node &rnode)
| Processes the next node.
Node | nextNode () const
| The next node to be processed.
bool | emptyQueue () const
| Returns `false` if there are nodes to be processed.
int | queueSize () const
| Returns the number of the nodes to be processed.
void | start ()
| Executes the algorithm.
void | start (Node t)
| Executes the algorithm until the given target node is reached.
Node | start (const NodeBoolMap &nm)
| Executes the algorithm until a condition is met.
void | run (Node s)
| Runs the algorithm from the given source node.
bool | run (Node s, Node t)
| Finds the shortest path between `s` and `t`.
void | run ()
| Runs the algorithm to visit all nodes in the digraph.
Path | path (Node t) const
| The shortest path to the given node.
int | dist (Node v) const
| The distance of the given node from the root(s).
Arc | predArc (Node v) const
| Returns the 'previous arc' of the shortest path tree for the given node.
Node | predNode (Node v) const
| Returns the 'previous node' of the shortest path tree for the given node.
const DistMap & | distMap () const
| Returns a const reference to the node map that stores the distances of the nodes.
const PredMap & | predMap () const
| Returns a const reference to the node map that stores the predecessor arcs.
bool | reached (Node v) const
| Checks if the given node is reached from the root(s).