38 #ifndef CHECK_CLIQUE_HPP 39 #define CHECK_CLIQUE_HPP 44 template <
typename vertex_type>
55 virtual double cost(
size_t clique_count) = 0;
64 template <
typename vertex_type>
79 double cost(
size_t clique_count)
override 81 return static_cast<double>(clique_count);
virtual bool check_edge_compatibility(C_vertex &rep, C_vertex &other)=0
virtual ~check_clique()=default
bool check_edge_compatibility(C_vertex &, C_vertex &) override
bool check_no_mux_needed(C_vertex &, C_vertex &) override
virtual void update_after_join(C_vertex &, C_vertex &)=0
boost::adjacency_matrix< boost::undirectedS, boost::property< boost::vertex_index_t, std::size_t >, edge_compatibility_selector > boost_cc_compatibility_graph
bulk compatibility graph
virtual bool check_no_mux_needed(C_vertex &rep, C_vertex &other)=0
absl::flat_hash_map< T, U, Hash, Eq, Alloc > CustomUnorderedMap
virtual double cost(size_t clique_count)=0
double cost(size_t clique_count) override
virtual check_clique * clone() const =0
void initialize_structures(boost_cc_compatibility_graph &, CustomUnorderedMap< C_vertex, vertex_type > &) override
size_t num_mux() override
virtual void initialize_structures(boost_cc_compatibility_graph &, CustomUnorderedMap< C_vertex, vertex_type > &)=0
no_check_clique * clone() const override
virtual size_t num_mux()=0
void update_after_join(C_vertex &, C_vertex &) override
boost::graph_traits< cc_compatibility_graph >::vertex_descriptor C_vertex
cc_compatibility_graph vertex