Trait graphviz::GraphWalkUnstable
[-] [+]
[src]
pub trait GraphWalk<'a, N, E> {
fn nodes(&'a self) -> Nodes<'a, N>;
fn edges(&'a self) -> Edges<'a, E>;
fn source(&'a self, edge: &E) -> N;
fn target(&'a self, edge: &E) -> N;
}GraphWalk is an abstraction over a directed graph = (nodes,edges)
made up of node handles N and edge handles E, where each E
can be mapped to its source and target nodes.
The lifetime parameter 'a is exposed in this trait (rather than
introduced as a generic parameter on each method declaration) so
that a client impl can choose N and E that have substructure
that is bound by the self lifetime 'a.
The nodes and edges method each return instantiations of
Cow<[T]> to leave implementers the freedom to create
entirely new vectors or to pass back slices into internally owned
vectors.
Required Methods
fn nodes(&'a self) -> Nodes<'a, N>
Returns all the nodes in this graph.
fn edges(&'a self) -> Edges<'a, E>
Returns all of the edges in this graph.
fn source(&'a self, edge: &E) -> N
The source node for edge.
fn target(&'a self, edge: &E) -> N
The target node for edge.