Rosetta Utilities  2014.35
Classes | Namespaces | Functions
ring_detection.hh File Reference

Algorithms for working with rings in boost graphs. More...

#include <utility/graph/BFS_prune.hh>
#include <utility/vector0.hh>
#include <utility/exit.hh>
#include <platform/types.hh>
#include <boost/graph/undirected_dfs.hpp>
#include <map>
#include <set>


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. More...
class  utility::graph::RingEdgeAnnotationVisitor< Graph, EdgeMap, PathMap >


 unresizable vector whose size is known at compile time, which may be allocated on the stack, and which indexes from 1.


template<class Graph >
platform::Size utility::graph::smallest_ring_size (typename boost::graph_traits< Graph >::vertex_descriptor const &vd, Graph const &graph, platform::Size const &max_ring_size=2 *999999)
 A boost graph-based function to find the size of the smallest ring for a given vertex. Will return the maximum ring size, or 999999 for no ring. If there is a maximum ring size, That can be set to limit the amount of search needed. More...
template<class Graph >
std::map< typename
boost::graph_traits< Graph >
::vertex_descriptor, std::map
< typename boost::graph_traits
< Graph >::vertex_descriptor,
bool > > 
utility::graph::annotate_ring_edges (Graph &graph)

Detailed Description

Algorithms for working with rings in boost graphs.

Rocco Moretti (