icentral_graph_interface/
delegate.rs1crate::ix!();
2
3#[macro_export] macro_rules! delegate_to_graphhash {
4 ($tag:ident) => {
5 paste::item!{
6 delegate!{
7 to self.$tag {
8
9 #[call(parents_for_node)]
10 pub fn [<$tag _parents_for_node>](&self, n: NodeId) -> Vec<NodeId>;
11
12 #[call(insert_edge)]
13 pub fn [<$tag _insert_edge>](&mut self, e: &Edge);
14
15 #[call(init_dbg_iteration)]
16 pub fn [<$tag _init_dbg_iteration>](&mut self, s: NodeId);
17
18 #[call(dbg_iteration_step)]
19 pub fn [<$tag _dbg_iteration_step>](
20 &mut self,
21 v_s: &mut Vec<NodeId>)
22 -> Result<(),BetweennessCentralityError>;
23
24 #[call(remove_edge)]
25 pub fn [<$tag _remove_edge>](&mut self, edge: &Edge)
26 -> Result<(),BetweennessCentralityError>;
27
28 #[call(num_nodes)]
29 pub fn [<$tag _num_nodes>](&self) -> usize;
30
31 #[call(num_edges)]
32 pub fn [<$tag _num_edges>](&self) -> usize;
33
34 #[call(find_pruning_counts_exp)]
35 pub fn [<$tag _find_pruning_counts_exp>](&mut self,
36 src: NodeId,
37 dst: NodeId)
38 -> Result<(i32,i32,i32),BetweennessCentralityError>;
39
40 #[call(sigma_value_for_node)]
41 pub fn [<$tag _sigma_value_for_node>](&self, node: NodeId) -> f64;
42
43 #[call(pair_dependency_for_node)]
44 pub fn [<$tag _pair_dependency_for_node>](&self, node: NodeId) -> f64;
45
46 #[call(mapped_nodes)]
47 pub fn [<$tag _mapped_nodes>](&self) -> Vec<NodeId>;
48
49 #[call(has_edge)]
50 pub fn [<$tag _has_edge>](&self, e: &Edge) -> bool;
51 }
52 }
53 }
54 }
55}