Rosetta  2019.07
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Types | Private Attributes | List of all members
utility::graph::RingSizeVisitor< Graph, DistanceMap, LabelMap > Class Template Reference

A class to implement the behavior of the smallest ring size finding algorithm, accessible through the smallest_ring_size() function below. More...

#include <ring_detection.hh>

Inheritance diagram for utility::graph::RingSizeVisitor< Graph, DistanceMap, LabelMap >:
Inheritance graph
[legend]

Public Member Functions

 RingSizeVisitor (VD const &source, Graph const &graph, DistanceMap &distances, LabelMap &labels, platform::Size &size, platform::Size const &max_size=2 *999999)
 
bool tree_edge (Edge const &e, Graph const &g)
 
bool gray_target (Edge const &e, Graph const &g)
 
- Public Member Functions inherited from utility::graph::null_bfs_prune_visitor
template<class Vertex , class Graph >
bool initialize_vertex (Vertex, Graph &)
 
template<class Vertex , class Graph >
bool discover_vertex (Vertex, Graph &)
 
template<class Vertex , class Graph >
bool examine_vertex (Vertex, Graph &)
 
template<class Edge , class Graph >
bool examine_edge (Edge, Graph &)
 
template<class Edge , class Graph >
bool tree_edge (Edge, Graph &)
 
template<class Edge , class Graph >
bool non_tree_edge (Edge, Graph &)
 
template<class Edge , class Graph >
bool gray_target (Edge, Graph &)
 
template<class Edge , class Graph >
bool black_target (Edge, Graph &)
 
template<class Vertex , class Graph >
bool finish_vertex (Vertex, Graph &)
 

Private Types

typedef boost::graph_traits
< Graph >::edge_descriptor 
Edge
 
typedef boost::graph_traits
< Graph >::vertex_descriptor 
VD
 

Private Attributes

DistanceMap & distances_
 
LabelMap & labels_
 
platform::Sizesize_
 
platform::Size stop_level_
 

Detailed Description

template<class Graph, class DistanceMap, class LabelMap>
class utility::graph::RingSizeVisitor< Graph, DistanceMap, LabelMap >

A class to implement the behavior of the smallest ring size finding algorithm, accessible through the smallest_ring_size() function below.

Based on BCL's smallest ring size detection algorithm.

Member Typedef Documentation

template<class Graph, class DistanceMap, class LabelMap>
typedef boost::graph_traits<Graph>::edge_descriptor utility::graph::RingSizeVisitor< Graph, DistanceMap, LabelMap >::Edge
private
template<class Graph, class DistanceMap, class LabelMap>
typedef boost::graph_traits<Graph>::vertex_descriptor utility::graph::RingSizeVisitor< Graph, DistanceMap, LabelMap >::VD
private

Constructor & Destructor Documentation

template<class Graph, class DistanceMap, class LabelMap>
utility::graph::RingSizeVisitor< Graph, DistanceMap, LabelMap >::RingSizeVisitor ( VD const &  source,
Graph const &  graph,
DistanceMap &  distances,
LabelMap &  labels,
platform::Size size,
platform::Size const &  max_size = 2*999999 
)
inline

Member Function Documentation

template<class Graph, class DistanceMap, class LabelMap>
bool utility::graph::RingSizeVisitor< Graph, DistanceMap, LabelMap >::gray_target ( Edge const &  e,
Graph const &  g 
)
inline
template<class Graph, class DistanceMap, class LabelMap>
bool utility::graph::RingSizeVisitor< Graph, DistanceMap, LabelMap >::tree_edge ( Edge const &  e,
Graph const &  g 
)
inline

Member Data Documentation

template<class Graph, class DistanceMap, class LabelMap>
DistanceMap& utility::graph::RingSizeVisitor< Graph, DistanceMap, LabelMap >::distances_
private
template<class Graph, class DistanceMap, class LabelMap>
LabelMap& utility::graph::RingSizeVisitor< Graph, DistanceMap, LabelMap >::labels_
private
template<class Graph, class DistanceMap, class LabelMap>
platform::Size& utility::graph::RingSizeVisitor< Graph, DistanceMap, LabelMap >::size_
private
template<class Graph, class DistanceMap, class LabelMap>
platform::Size utility::graph::RingSizeVisitor< Graph, DistanceMap, LabelMap >::stop_level_
private

The documentation for this class was generated from the following file: