31#if defined(BreadthFirstVisitor_RECURSES)
32#error Recursive header files inclusion detected in BreadthFirstVisitor.h
35#define BreadthFirstVisitor_RECURSES
37#if !defined BreadthFirstVisitor_h
39#define BreadthFirstVisitor_h
45#include "DGtal/base/Common.h"
46#include "DGtal/base/CountedPtr.h"
47#include "DGtal/base/ConstAlias.h"
48#include "DGtal/kernel/sets/DigitalSetSelector.h"
49#include "DGtal/kernel/sets/DigitalSetDomain.h"
50#include "DGtal/topology/DomainAdjacency.h"
51#include "DGtal/graph/CUndirectedSimpleLocalGraph.h"
92 template <
typename TGraph,
93 typename TMarkSet =
typename TGraph::VertexSet >
101 typedef typename Graph::Size
Size;
115 typedef std::pair< Vertex, Data >
Node;
165 template <
typename VertexIterator>
167 VertexIterator b, VertexIterator e );
214 template <
typename VertexPredicate>
215 void expand(
const VertexPredicate & authorized_vtx );
322 template <
typename TGraph,
typename TMarkSet >
332#include "DGtal/graph/BreadthFirstVisitor.ih"
339#undef BreadthFirstVisitor_RECURSES
Aim: This class is useful to perform a breadth-first exploration of a graph given a starting point or...
BreadthFirstVisitor< TGraph, TMarkSet > Self
BreadthFirstVisitor & operator=(const BreadthFirstVisitor &other)
BreadthFirstVisitor(ConstAlias< Graph > graph, const Vertex &p)
BreadthFirstVisitor(const BreadthFirstVisitor &other)
const Node & current() const
void selfDisplay(std::ostream &out) const
std::vector< Vertex > VertexList
Internal data structure for storing vertices.
void expand(const VertexPredicate &authorized_vtx)
std::pair< Vertex, Data > Node
FIXME.
const MarkSet & markedVertices() const
const Graph & graph() const
MarkSet visitedVertices() const
BreadthFirstVisitor(ConstAlias< Graph > graph)
Size Data
Data attached to each Vertex is the topological distance to the seed.
std::queue< Node > NodeQueue
Internal data structure for computing the breadth-first expansion.
BreadthFirstVisitor(ConstAlias< Graph > graph, VertexIterator b, VertexIterator e)
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)