38 #ifndef CLIQUE_COVERING_GRAPH_HPP 39 #define CLIQUE_COVERING_GRAPH_HPP 42 #include <boost/config.hpp> 43 #include <boost/graph/adjacency_matrix.hpp> 44 #include <boost/graph/filtered_graph.hpp> 45 #include <boost/graph/graph_utility.hpp> 46 #include <boost/graph/graphviz.hpp> 47 #include <boost/graph/incremental_components.hpp> 48 #include <boost/graph/properties.hpp> 49 #include <boost/graph/topological_sort.hpp> 50 #include <boost/pending/disjoint_sets.hpp> 51 #include <boost/version.hpp> 58 template <
typename Graph>
91 template <
typename Graph>
119 template <
typename Edge>
128 return selector & (*g)[e].selector;
158 boost::adjacency_matrix<boost::undirectedS, boost::property<boost::vertex_index_t, std::size_t>,
171 using C_vertex = boost::graph_traits<cc_compatibility_graph>::vertex_descriptor;
175 using VertexIndex = boost::graph_traits<boost_cc_compatibility_graph>::vertices_size_type;
185 using RVertexIndex = boost::graph_traits<boost_cc_compatibility_graph>::vertices_size_type;
186 using REdge = boost::graph_traits<boost_cc_compatibility_graph>::edge_descriptor;
194 using RDisjointSet = boost::disjoint_sets<rank_pmap_type, pred_pmap_type>;
edge_compatibility_selector()
boost::graph_traits< cc_compatibility_graph >::out_edge_iterator C_outEdgeIterator
boost::graph_traits< boost_cc_compatibility_graph >::edge_descriptor REdge
int selector
The selector associated with the filtered graph.
cc_compatibility_graph_vertex_selector()
constructor
redefinition of map to manage ordered/unordered structures
boost::iterator_property_map< std::vector< VertexIndex >::iterator, vertex_index_pmap_t > rank_pmap_type
rank property map definition
boost::adjacency_matrix< boost::undirectedS, boost::property< boost::vertex_index_t, std::size_t >, edge_compatibility_selector > boost_cc_compatibility_graph
bulk compatibility graph
Predicate functor object used to select the proper set of edges.
boost::graph_traits< boost_cc_compatibility_graph >::vertices_size_type VertexIndex
vertices index type
bool operator()(const Edge &e) const
edge selector operator
cc_compatibility_graph_vertex_selector(SET_container *_support)
constructor
redefinition of set to manage ordered/unordered structures
boost::graph_traits< boost_cc_compatibility_graph >::vertices_size_type RVertexIndex
cc_compatibility_graph_edge_selector()
all edges selector
int selector
The selector associated with the edge.
Template definition of refcount.
typename boost::graph_traits< Graph >::vertex_descriptor vertex_descriptor
bool operator()(const vertex_descriptor &v) const
selector operator
boost::property_map< boost_cc_compatibility_graph, boost::vertex_index_t >::type vertex_index_pmap_t
index map type
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
boost::filtered_graph< boost_cc_compatibility_graph, cc_compatibility_graph_edge_selector< boost_cc_compatibility_graph >, cc_compatibility_graph_vertex_selector< boost_cc_compatibility_graph > > cc_compatibility_graph
compatibility graph
boost::disjoint_sets< rank_pmap_type, pred_pmap_type > RDisjointSet
boost::iterator_property_map< std::vector< C_vertex >::iterator, vertex_index_pmap_t > pred_pmap_type
parent property map definition
edge_compatibility_selector(int _selector, int _weight)
Constructor with selector.
boost::graph_traits< cc_compatibility_graph >::vertex_descriptor C_vertex
cc_compatibility_graph vertex
cc_compatibility_graph_edge_selector(const int _selector, Graph *_g)
Constructor for filtering only on selector.