1use labelgraph::*;
2
3#[derive(Debug)]
4struct NodeData(i32);
5
6fn main() {
7 let mut g = DirectedLabelGraph::new();
8
9 let n1 = NodeData(2);
10 let n2 = NodeData(3);
11 let n3 = NodeData(4);
12
13 g.create_node("n1", n1);
14 g.create_node("n2", n2);
15 g.create_node("n3", n3);
16
17 println!("linking: n1 -> n2\n");
18 g.link_nodes("n1", "n2", 1);
19
20 println!(
21 "n1's data before being modified: {:?}",
22 g.get_node_data("n1")
23 );
24 {
25 let n1_data = g.get_mut_node_data("n1").unwrap();
27 n1_data.0 = 100;
28 }
29 println!("n1's data after modified: {:?}\n", g.get_node_data("n1"));
30
31 println!("Iter through node label and data:");
32 for nd in g.iter_node_label_and_data() {
33 println!("node data -> {:?}", nd)
34 }
35 println!();
36
37 println!("n1 outputs to: {:?}", g.get_outputs_for_node("n1"));
38 println!("n2 take input from: {:?}", g.get_inputs_for_node("n2"));
39}