digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
Loading...
Searching...
No Matches
Digikam::Graph< VertexProperties, EdgeProperties >::GraphSearch Class Reference

Classes

class  BreadthFirstSearchVisitor
class  CommonVisitor
class  DepthFirstSearchVisitor
class  lessThanMapEdgeToTarget

Public Member Functions

template<class GraphType>
void breadthFirstSearch (const GraphType &_graph, const Vertex &v, bool invertGraph)
template<class GraphType>
void depthFirstSearch (const GraphType &_graph, const Vertex &v, bool invertGraph)
template<class GraphType, typename LessThan>
void depthFirstSearchSorted (const GraphType &_graph, const Vertex &v, bool invertGraph, LessThan lessThan)

Public Attributes

QList< Vertex > vertices

Protected Member Functions

template<class IncidenceGraph, class DFSVisitor, class ColorMap, typename LessThan>
void depth_first_search_sorted (const IncidenceGraph &g, Vertex u, DFSVisitor &vis, ColorMap color, LessThan lessThan)
 This is boost's simple, old, recursive DFS algorithm adapted with lessThan.

Member Function Documentation

◆ depth_first_search_sorted()

template<class VertexProperties, class EdgeProperties>
template<class IncidenceGraph, class DFSVisitor, class ColorMap, typename LessThan>
void Digikam::Graph< VertexProperties, EdgeProperties >::GraphSearch::depth_first_search_sorted ( const IncidenceGraph & g,
Vertex u,
DFSVisitor & vis,
ColorMap color,
LessThan lessThan )
inlineprotected

Sort edges. The lessThan we have takes vertices, so we use a lessThan which maps the given edges to their targets, and calls our vertex lessThan.