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 { ... }
}