49#include <lal/linear_arrangement.hpp>
50#include <lal/graphs/undirected_graph.hpp>
51#include <lal/detail/properties/bipartite_graph_colorability.hpp>
52#include <lal/detail/sorting/counting_sort.hpp>
53#include <lal/detail/linarr/D/bipartite_opt_utils.hpp>
73template <
bool make_arrangement,
class graph_t>
74[[nodiscard]] std::conditional_t<
76 std::pair<uint64_t, linear_arrangement>,
80 static_assert(std::is_base_of_v<graphs::graph, graph_t>);
99template <
bool make_arrangement,
class graph_t>
100[[nodiscard]] std::conditional_t<
102 std::pair<uint64_t, linear_arrangement>,
105AEF(
const graph_t& g)
noexcept {
106 static_assert(std::is_base_of_v<graphs::graph, graph_t>);
107 const auto c = color_vertices_graph(g);
A class to represent a coloring of the vertices of a bipartite graph.
Definition bipartite_graph_coloring.hpp:60
std::conditional_t< make_arrangement, std::pair< uint64_t, linear_arrangement >, uint64_t > AEF(const graph_t &g, const properties::bipartite_graph_coloring &c) noexcept
Minimum bipartite arrangement.
Definition Bipartite_AEF.hpp:79
std::conditional_t< make_arrangement, std::pair< uint64_t, linear_arrangement >, uint64_t > optimal_bipartite_arrangement_AEF(const graph_t &g, const bipartite_coloring_t &c) noexcept
Optimal bipartite arrangement.
Definition bipartite_opt_utils.hpp:93
@ non_increasing
Non-increasing sort.
Main namespace of the library.
Definition basic_types.hpp:48