icentral_subgraph/
insert_edge.rs1crate::ix!();
2
3impl InsertEdge for SubGraph {
4
5 fn insert_edge(&mut self, edge: &Edge)
6 -> Result<(),BetweennessCentralityError>
7 {
8 Ok(self.insert_edge_between_nodes(edge.src, edge.dst)?)
9 }
10}
11
12impl InsertEdgeBetweenNodes for SubGraph {
13
14 fn insert_edge_between_nodes(&mut self,
15 src: NodeId,
16 dst: NodeId)
17 -> Result<(),BetweennessCentralityError>
18 {
19 let mut e1 = Edge::new(src,dst);
20 let mut e2 = e1.reversed();
21
22 if !self.edges.connects(src,dst)
23 {
24 self.edges.insert_edge(e1);
25
26 self.nodes_map.add_neighbor(src,dst);
27 self.nodes_map.add_neighbor(dst,src);
28 }
29
30 Ok(())
31 }
32}