Skip to main content

partite/
partite.rs

1#![allow(unused)]
2use hypergraphx::prelude::*;
3
4fn main() {
5    let mut g = partite::BipartiteGraph::<(), ()>::new();
6    // g.add_node((), 0);
7    // g.add_node((), 0);
8    // g.add_node((), 1);
9    g.add_nodes([((), 0), ((), 0), ((), 1)].into_iter());
10
11    dbg!(g.add_edge((), [0, 2])); // Ok
12    dbg!(g.add_edge((), [0, 1])); // Err
13
14    let mut g = partite::directed_bipartite::BipartiteHypergraph::<(), ()>::new();
15    // g.add_node((), false);
16    // g.add_node((), false);
17    // g.add_node((), true);
18    g.add_nodes([((), false), ((), false), ((), true)].into_iter());
19
20    dbg!(g.add_edge((), vec![0], vec![2])); // Ok
21    dbg!(g.add_edge((), vec![0], vec![1])); // Err
22    dbg!(g.add_edge((), vec![0, 1], vec![2])); // Ok
23    dbg!(g.add_edge((), vec![0, 2], vec![1])); // Err
24
25    let mut g = partite::kpartite::PartiteHypergraph::<(), (), 3>::new();
26    // g.add_node((), 0);
27    // g.add_node((), 1);
28    // g.add_node((), 2);
29    // g.add_node((), 2);
30    g.add_nodes([((), 0), ((), 1), ((), 2), ((), 2)].into_iter());
31    dbg!(g.add_edge((), vec![0, 2])); // Ok
32    dbg!(g.add_edge((), vec![0, 1])); // Ok
33    dbg!(g.add_edge((), vec![0, 1, 2])); // Ok
34    dbg!(g.add_edge((), vec![0, 1, 2, 3])); // Err
35}