Trait rs_graph::graph::Digraph
[−]
[src]
pub trait Digraph<'a>: Graph<'a> { type OutEdgeIter: 'a + Iterator<Item = (Self::Edge, Self::Node)>; type InEdgeIter: 'a + Iterator<Item = (Self::Edge, Self::Node)>; fn src(&'a self, e: Self::Edge) -> Self::Node; fn snk(&'a self, e: Self::Edge) -> Self::Node; fn outedges(&'a self, u: Self::Node) -> Self::OutEdgeIter; fn inedges(&'a self, u: Self::Node) -> Self::InEdgeIter; }
Trait for a general directed graph.
This trait adds a few additional methods to explicitely access the direction information of an edge. In particular, the direction information can be used in the following ways:
- The
src
andsnk
methods return the source and sink nodes of an edge. - The iterators
outedges
andinedges
iterate only over edges leaving or entering a certain node, respectively.
Associated Types
type OutEdgeIter: 'a + Iterator<Item = (Self::Edge, Self::Node)>
Type of an iterator over the forward edges leaving a node.
type InEdgeIter: 'a + Iterator<Item = (Self::Edge, Self::Node)>
Type of an iterator over the backward edges entering a node.
Required Methods
fn src(&'a self, e: Self::Edge) -> Self::Node
Return the source node of an edge.
fn snk(&'a self, e: Self::Edge) -> Self::Node
Return the sink node of an edge.
fn outedges(&'a self, u: Self::Node) -> Self::OutEdgeIter
Return an iterator over the outgoing edges of a node.
The iterator returns only forward edges.
fn inedges(&'a self, u: Self::Node) -> Self::InEdgeIter
Return an iterator over the incoming edges of a node.
The iterator returns only backward edges.
Implementors
impl<'a, G, Gx, Nx, Ex, Ax> Digraph<'a> for Attributed<G, Gx, Nx, Ex, Ax> where
G: Digraph<'a>,
Gx: Default,
Nx: Default,
Ex: Default,
Ax: Default,impl<'a, T> Digraph<'a> for T where
T: WrappedGraph,
T::Graph: Digraph<'a>,impl<'a, ID> Digraph<'a> for LinkedListGraph<ID> where
ID: 'a + PrimInt + Unsigned,