Trait fera_graph::traverse::Visitor
[−]
[src]
pub trait Visitor<G: WithEdge> { fn start(&mut self, _g: &G) -> Control { ... } fn finish(&mut self, _g: &G) -> Control { ... } fn discover_root_vertex(&mut self, _g: &G, _v: Vertex<G>) -> Control { ... } fn finish_root_vertex(&mut self, _g: &G, _v: Vertex<G>) -> Control { ... } fn discover_vertex(&mut self, _g: &G, _v: Vertex<G>) -> Control { ... } fn finish_vertex(&mut self, _g: &G, _v: Vertex<G>) -> Control { ... } fn discover_edge(&mut self, _g: &G, _e: Edge<G>) -> Control { ... } fn finish_edge(&mut self, _g: &G, _e: Edge<G>) -> Control { ... } fn discover_tree_edge(&mut self, _g: &G, _e: Edge<G>) -> Control { ... } fn finish_tree_edge(&mut self, _g: &G, _e: Edge<G>) -> Control { ... } fn discover_back_edge(&mut self, _g: &G, _e: Edge<G>) -> Control { ... } fn discover_cross_or_forward_edge(&mut self, _g: &G, _e: Edge<G>) -> Control { ... } }
Provided Methods
fn start(&mut self, _g: &G) -> Control
fn finish(&mut self, _g: &G) -> Control
fn discover_root_vertex(&mut self, _g: &G, _v: Vertex<G>) -> Control
fn finish_root_vertex(&mut self, _g: &G, _v: Vertex<G>) -> Control
fn discover_vertex(&mut self, _g: &G, _v: Vertex<G>) -> Control
fn finish_vertex(&mut self, _g: &G, _v: Vertex<G>) -> Control
fn discover_edge(&mut self, _g: &G, _e: Edge<G>) -> Control
fn finish_edge(&mut self, _g: &G, _e: Edge<G>) -> Control
fn discover_tree_edge(&mut self, _g: &G, _e: Edge<G>) -> Control
fn finish_tree_edge(&mut self, _g: &G, _e: Edge<G>) -> Control
fn discover_back_edge(&mut self, _g: &G, _e: Edge<G>) -> Control
fn discover_cross_or_forward_edge(&mut self, _g: &G, _e: Edge<G>) -> Control
Implementations on Foreign Types
impl<'a, G, V> Visitor<G> for &'a mut V where
G: WithEdge,
V: Visitor<G>,
[src]
G: WithEdge,
V: Visitor<G>,
fn start(&mut self, g: &G) -> Control
[src]
fn finish(&mut self, g: &G) -> Control
[src]
fn discover_root_vertex(&mut self, g: &G, v: Vertex<G>) -> Control
[src]
fn finish_root_vertex(&mut self, g: &G, v: Vertex<G>) -> Control
[src]
fn discover_vertex(&mut self, g: &G, v: Vertex<G>) -> Control
[src]
fn finish_vertex(&mut self, g: &G, v: Vertex<G>) -> Control
[src]
fn discover_edge(&mut self, g: &G, e: Edge<G>) -> Control
[src]
fn finish_edge(&mut self, g: &G, e: Edge<G>) -> Control
[src]
fn discover_tree_edge(&mut self, g: &G, e: Edge<G>) -> Control
[src]
fn finish_tree_edge(&mut self, g: &G, e: Edge<G>) -> Control
[src]
fn discover_back_edge(&mut self, g: &G, e: Edge<G>) -> Control
[src]
fn discover_cross_or_forward_edge(&mut self, g: &G, e: Edge<G>) -> Control
[src]
impl<G, A, B> Visitor<G> for (A, B) where
G: WithEdge,
A: Visitor<G>,
B: Visitor<G>,
[src]
G: WithEdge,
A: Visitor<G>,
B: Visitor<G>,
fn start(&mut self, g: &G) -> Control
[src]
fn finish(&mut self, g: &G) -> Control
[src]
fn discover_root_vertex(&mut self, g: &G, item: Vertex<G>) -> Control
[src]
fn finish_root_vertex(&mut self, g: &G, item: Vertex<G>) -> Control
[src]
fn discover_vertex(&mut self, g: &G, item: Vertex<G>) -> Control
[src]
fn finish_vertex(&mut self, g: &G, item: Vertex<G>) -> Control
[src]
fn discover_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn finish_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn discover_tree_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn finish_tree_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn discover_back_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn discover_cross_or_forward_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
impl<G, A, B, C> Visitor<G> for (A, B, C) where
G: WithEdge,
A: Visitor<G>,
B: Visitor<G>,
C: Visitor<G>,
[src]
G: WithEdge,
A: Visitor<G>,
B: Visitor<G>,
C: Visitor<G>,
fn start(&mut self, g: &G) -> Control
[src]
fn finish(&mut self, g: &G) -> Control
[src]
fn discover_root_vertex(&mut self, g: &G, item: Vertex<G>) -> Control
[src]
fn finish_root_vertex(&mut self, g: &G, item: Vertex<G>) -> Control
[src]
fn discover_vertex(&mut self, g: &G, item: Vertex<G>) -> Control
[src]
fn finish_vertex(&mut self, g: &G, item: Vertex<G>) -> Control
[src]
fn discover_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn finish_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn discover_tree_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn finish_tree_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn discover_back_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn discover_cross_or_forward_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
impl<G, A, B, C, D> Visitor<G> for (A, B, C, D) where
G: WithEdge,
A: Visitor<G>,
B: Visitor<G>,
C: Visitor<G>,
D: Visitor<G>,
[src]
G: WithEdge,
A: Visitor<G>,
B: Visitor<G>,
C: Visitor<G>,
D: Visitor<G>,
fn start(&mut self, g: &G) -> Control
[src]
fn finish(&mut self, g: &G) -> Control
[src]
fn discover_root_vertex(&mut self, g: &G, item: Vertex<G>) -> Control
[src]
fn finish_root_vertex(&mut self, g: &G, item: Vertex<G>) -> Control
[src]
fn discover_vertex(&mut self, g: &G, item: Vertex<G>) -> Control
[src]
fn finish_vertex(&mut self, g: &G, item: Vertex<G>) -> Control
[src]
fn discover_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn finish_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn discover_tree_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn finish_tree_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn discover_back_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
fn discover_cross_or_forward_edge(&mut self, g: &G, item: Edge<G>) -> Control
[src]
Implementors
impl<'a, G: WithEdge> Visitor<G> for IsConnected<'a>
impl<G, V> Visitor<G> for ConnectedComponents<G, V> where
G: WithEdge,
V: VertexPropMut<G, usize>,impl<G: Graph> Visitor<G> for FindCutVertices<G>
impl<G: Graph> Visitor<G> for FindCutEdges<G>
impl<'a, G: WithEdge> Visitor<G> for IsAcyclic<'a>
impl<'a, G: WithEdge> Visitor<G> for IsDag<'a>
impl<'a, G: WithEdge> Visitor<G> for RecordPath<'a, G>
impl<'a, G: VertexList + EdgeList> Visitor<G> for IsTree<'a>
impl<G: WithEdge> Visitor<G> for EmptyVisitor
impl<G, F, R> Visitor<G> for OnTraverseEvent<F> where
G: WithEdge,
F: FnMut(TraverseEvent<G>) -> R,
R: Into<Control>,impl<G, V> Visitor<G> for OnDiscoverRootVertex<V> where
G: WithEdge,
V: VisitVertex<G>,impl<G, V> Visitor<G> for OnFinishRootVertex<V> where
G: WithEdge,
V: VisitVertex<G>,impl<G, V> Visitor<G> for OnDiscoverVertex<V> where
G: WithEdge,
V: VisitVertex<G>,impl<G, V> Visitor<G> for OnFinishVertex<V> where
G: WithEdge,
V: VisitVertex<G>,impl<G, V> Visitor<G> for OnDiscoverEdge<V> where
G: WithEdge,
V: VisitEdge<G>,impl<G, V> Visitor<G> for OnFinishEdge<V> where
G: WithEdge,
V: VisitEdge<G>,impl<G, V> Visitor<G> for OnDiscoverTreeEdge<V> where
G: WithEdge,
V: VisitEdge<G>,impl<G, V> Visitor<G> for OnFinishTreeEdge<V> where
G: WithEdge,
V: VisitEdge<G>,impl<G, V> Visitor<G> for OnDiscoverBackEdge<V> where
G: WithEdge,
V: VisitEdge<G>,impl<G, V> Visitor<G> for OnDiscoverCrossOrBackEdge<V> where
G: WithEdge,
V: VisitEdge<G>,impl<'a, G, P, T> Visitor<G> for RecordDistance<'a, P, T> where
G: WithEdge,
P: VertexPropMut<G, T>,
T: Counter + Copy + Zero,impl<'a, G, P> Visitor<G> for RecordParent<'a, P> where
G: WithEdge,
P: VertexPropMut<G, OptionVertex<G>>,impl<'a, G, P> Visitor<G> for RecordParentEdge<'a, P> where
G: WithEdge<Kind = Undirected>,
P: VertexPropMut<G, OptionEdge<G>>,impl<'a, G> Visitor<G> for FarthestVertex<'a, G> where
G: 'a + WithEdge,