icentral_subgraph/
insert_edge.rs

1crate::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}