Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
transitive_reduction.hpp File Reference
#include <vector>
#include <algorithm>
#include <boost/concept/requires.hpp>
#include <boost/concept_check.hpp>
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/topological_sort.hpp>
Include dependency graph for transitive_reduction.hpp:

Namespaces

 boost
 Duration formatting facet for input.
 

Typedefs

typedef graph_traits< Graph >
::vertex_iterator 
boost::VertexIterator
 
typedef std::vector< Vertex >
::size_type 
boost::size_type
 

Functions

template<typename Graph , typename GraphTR , typename G_to_TR_VertexMap , typename VertexIndexMap >
 boost::BOOST_CONCEPT_REQUIRES (((VertexListGraphConcept< Graph >))((IncidenceGraphConcept< Graph >))((MutableGraphConcept< GraphTR >))((ReadablePropertyMapConcept< VertexIndexMap, typename graph_traits< Graph >::vertex_descriptor >))((Integer< typenameproperty_traits< VertexIndexMap >::value_type >))((LvaluePropertyMapConcept< G_to_TR_VertexMap, typename graph_traits< Graph >::vertex_descriptor >)),(void)) transitive_reduction(const Graph &g
 
 boost::topological_sort (g, std::back_inserter(topo_order))
 
std::vector< size_type > boost::topo_number_storage (num_vertices(g))
 
 boost::for (;it!=topo_order.rend();++it,++n)
 
std::vector< std::vector< bool > > boost::edge_in_closure (num_vertices(g), std::vector< bool >(num_vertices(g), false))
 
 boost::for (;it!=topo_order.rend();++it)
 

Variables

GraphTR G_to_TR_VertexMap
VertexIndexMap g_index_map
typedef graph_traits< Graph >
::vertex_descriptor 
boost::Vertex
 
GraphTR & boost::tr
 
GraphTR G_to_TR_VertexMap boost::g_to_tr_map
 
std::vector< Vertex > boost::topo_order
 
iterator_property_map
< size_type *, VertexIndexMap,
size_type, size_type & >
topo_number &[0] 
boost::topo_number_storage
 
size_type boost::n = 0
 
std::vector< Vertex >::iterator boost::it = topo_order.begin()
 
std::vector< Vertex >::iterator boost::end = topo_order.end()