Bipartite

Support for bipartite-graphs.

#include<hysj/graphs/bipartite.hpp>

In namespace graphs:

auto part_map(const auto &g, auto i)

auto part_ids(auto p, const auto &g)

auto part_count(auto p, const auto &g)

template<typename G, natural P>
concept partite_graph
Let
const G &graph
Requires

part_ids(constant_c<P>, graph)


template<typename G>
concept bipartite_graph
Requires

partite_graph<G, 0> partite_graph<G, 1>


Builtin

#include<hysj/graphs/builtin/bipartite_graphs.hpp>

In namespace builtin:

template<typename G>
struct bipartite_graph
Implements concepts::bipartite_graphs.