31 #if defined(DistanceBreadthFirstVisitor_RECURSES)
32 #error Recursive header files inclusion detected in DistanceBreadthFirstVisitor.h
33 #else // defined(DistanceBreadthFirstVisitor_RECURSES)
35 #define DistanceBreadthFirstVisitor_RECURSES
37 #if !defined DistanceBreadthFirstVisitor_h
39 #define DistanceBreadthFirstVisitor_h
45 #include "DGtal/base/Common.h"
46 #include "DGtal/base/ConstAlias.h"
47 #include "DGtal/base/CountedPtr.h"
48 #include "DGtal/graph/CUndirectedSimpleLocalGraph.h"
202 template <
typename TGraph,
203 typename TVertexFunctor,
204 typename TMarkSet =
typename TGraph::VertexSet >
229 struct Node :
public std::pair< Vertex, Scalar >
231 typedef std::pair< Vertex, Scalar >
Base;
246 return other.second < second;
250 return other.second <= second;
254 return other.second == second;
258 return other.second != second;
307 template <
typename VertexIterator>
310 VertexIterator b, VertexIterator e );
345 template <
typename TBackInsertionSequence>
392 template <
typename VertexPredicate>
393 void expand(
const VertexPredicate & authorized_vtx );
406 template <
typename VertexPredicate>
407 void expandLayer(
const VertexPredicate & authorized_vtx );
534 template <
typename TGraph,
typename TVertexFunctor,
typename TMarkSet >
544 #include "DGtal/graph/DistanceBreadthFirstVisitor.ih"
549 #endif // !defined DistanceBreadthFirstVisitor_h
551 #undef DistanceBreadthFirstVisitor_RECURSES
552 #endif // else defined(DistanceBreadthFirstVisitor_RECURSES)
const Node & current() const
VertexFunctor::Value Scalar
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
MarkSet visitedVertices() const
std::priority_queue< Node > NodeQueue
Internal data structure for computing the distance ordering expansion.
DistanceBreadthFirstVisitor & operator=(const DistanceBreadthFirstVisitor &other)
const Graph & graph() const
bool operator==(const Node &other) const
Node(const Vertex &v, Scalar d)
const MarkSet & markedVertices() const
void pushAgain(const Node &node)
HalfEdgeDataStructure::Size Size
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
DGtal is the top-level namespace which contains all DGtal functions and types.
std::pair< Vertex, Scalar > Base
Aim: This class is useful to perform an exploration of a graph given a starting point or set (called ...
DistanceBreadthFirstVisitor()
TVertexFunctor VertexFunctor
bool operator<(const Node &other) const
void getCurrentLayer(TBackInsertionSequence &layer)
void swap(DistanceBreadthFirstVisitor &other)
void selfDisplay(std::ostream &out) const
bool operator!=(const Node &other) const
DistanceBreadthFirstVisitor< TGraph, TVertexFunctor, TMarkSet > Self
~DistanceBreadthFirstVisitor()
std::vector< Vertex > VertexList
Internal data structure for storing vertices.
bool operator<=(const Node &other) const