• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 use super::*;
2 
3 impl<'graph, G: DirectedGraph> DirectedGraph for &'graph G {
4     type Node = G::Node;
5 }
6 
7 impl<'graph, G: WithNumNodes> WithNumNodes for &'graph G {
num_nodes(&self) -> usize8     fn num_nodes(&self) -> usize {
9         (**self).num_nodes()
10     }
11 }
12 
13 impl<'graph, G: WithStartNode> WithStartNode for &'graph G {
start_node(&self) -> Self::Node14     fn start_node(&self) -> Self::Node {
15         (**self).start_node()
16     }
17 }
18 
19 impl<'graph, G: WithSuccessors> WithSuccessors for &'graph G {
successors(&self, node: Self::Node) -> <Self as GraphSuccessors<'_>>::Iter20     fn successors(&self, node: Self::Node) -> <Self as GraphSuccessors<'_>>::Iter {
21         (**self).successors(node)
22     }
23 }
24 
25 impl<'graph, G: WithPredecessors> WithPredecessors for &'graph G {
predecessors(&self, node: Self::Node) -> <Self as GraphPredecessors<'_>>::Iter26     fn predecessors(&self, node: Self::Node) -> <Self as GraphPredecessors<'_>>::Iter {
27         (**self).predecessors(node)
28     }
29 }
30 
31 impl<'iter, 'graph, G: WithPredecessors> GraphPredecessors<'iter> for &'graph G {
32     type Item = G::Node;
33     type Iter = <G as GraphPredecessors<'iter>>::Iter;
34 }
35 
36 impl<'iter, 'graph, G: WithSuccessors> GraphSuccessors<'iter> for &'graph G {
37     type Item = G::Node;
38     type Iter = <G as GraphSuccessors<'iter>>::Iter;
39 }
40