38 #ifndef FILTER_CLIQUE_HPP 39 #define FILTER_CLIQUE_HPP 47 template <
typename vertex_type>
60 template <
typename vertex_type>
72 return static_cast<size_t>(candidate_clique.size());
virtual bool select_candidate_to_remove(const CustomOrderedSet< C_vertex > &candidate_clique, C_vertex &v, const CustomUnorderedMap< C_vertex, vertex_type > &converter, const cc_compatibility_graph &cg) const =0
virtual ~filter_clique()=default
bool select_candidate_to_remove(const CustomOrderedSet< C_vertex > &, C_vertex &, const CustomUnorderedMap< C_vertex, vertex_type > &, const cc_compatibility_graph &) const override
bool is_filtering() const override
Functor used to reduce the size of clique: the rationale of filtering is that too many sharing may cr...
absl::flat_hash_map< T, U, Hash, Eq, Alloc > CustomUnorderedMap
size_t clique_cost(const CustomOrderedSet< C_vertex > &candidate_clique, const CustomUnorderedMap< C_vertex, vertex_type > &) const override
virtual size_t clique_cost(const CustomOrderedSet< C_vertex > &candidate_clique, const CustomUnorderedMap< C_vertex, vertex_type > &converter) const =0
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::graph_traits< cc_compatibility_graph >::vertex_descriptor C_vertex
cc_compatibility_graph vertex
virtual bool is_filtering() const =0