Trait rs_graph::traits::GraphSize [−][src]
pub trait GraphSize<'a>: GraphType<'a> { type NodeIt: GraphIterator<Self, Item = Self::Node>; type EdgeIt: GraphIterator<Self, Item = Self::Edge>; fn num_nodes(&self) -> usize; fn num_edges(&self) -> usize; fn nodes_iter(&'a self) -> Self::NodeIt; fn edges_iter(&'a self) -> Self::EdgeIt; fn nodes(&'a self) -> NodeIterator<'a, Self>
where
Self: Sized, { ... } fn edges(&'a self) -> EdgeIterator<'a, Self>
where
Self: Sized, { ... } }
A (finite) graph with a known number of nodes and edges.
Finite graphs also provide access to the list of all nodes and edges.
Associated Types
type NodeIt: GraphIterator<Self, Item = Self::Node>[src]
Type of an iterator over all nodes.
type EdgeIt: GraphIterator<Self, Item = Self::Edge>[src]
Type of an iterator over all edges.
Required methods
fn num_nodes(&self) -> usize[src]
Return the number of nodes in the graph.
fn num_edges(&self) -> usize[src]
Return the number of edges in the graph.
fn nodes_iter(&'a self) -> Self::NodeIt[src]
Return a graph iterator over all nodes.
fn edges_iter(&'a self) -> Self::EdgeIt[src]
Return a graph iterator over all edges.
This iterator traverses only the forward edges.
Provided methods
fn nodes(&'a self) -> NodeIterator<'a, Self> where
Self: Sized, [src]
Self: Sized,
Return an iterator over all nodes.
fn edges(&'a self) -> EdgeIterator<'a, Self> where
Self: Sized, [src]
Self: Sized,
Return an iterator over all edges.
This iterator traverses only the forward edges.
Implementations on Foreign Types
Loading content...Implementors
impl<'a, 'g: 'a, G> GraphSize<'a> for Network<'g, G> where
G: Digraph<'g>, [src]
impl<'a, 'g: 'a, G> GraphSize<'a> for Network<'g, G> where
G: Digraph<'g>, [src]type NodeIt = NetworkNodeIt<G::NodeIt>
type EdgeIt = NetworkEdgeIt<G, G::EdgeIt>
fn num_nodes(&self) -> usize[src]
fn num_edges(&self) -> usize[src]
fn nodes_iter(&self) -> Self::NodeIt[src]
fn edges_iter(&self) -> Self::EdgeIt[src]
impl<'a, 'g: 'a, G> GraphSize<'a> for ReverseDigraph<'g, G> where
G: GraphSize<'g>, [src]
impl<'a, 'g: 'a, G> GraphSize<'a> for ReverseDigraph<'g, G> where
G: GraphSize<'g>, [src]impl<'a, G, Gx, Nx, Ex> GraphSize<'a> for Attributed<G, Gx, Nx, Ex> where
G: GraphSize<'a>,
Gx: 'a + Default,
Nx: 'a + Default,
Ex: 'a + Default, [src]
impl<'a, G, Gx, Nx, Ex> GraphSize<'a> for Attributed<G, Gx, Nx, Ex> where
G: GraphSize<'a>,
Gx: 'a + Default,
Nx: 'a + Default,
Ex: 'a + Default, [src]type NodeIt = AttributedWrapIt<G::NodeIt>
type EdgeIt = AttributedWrapIt<G::EdgeIt>
fn num_nodes(&self) -> usize[src]
fn num_edges(&self) -> usize[src]
fn nodes_iter(&'a self) -> Self::NodeIt[src]
fn edges_iter(&'a self) -> Self::EdgeIt[src]
impl<'a, G, P> GraphSize<'a> for FilteredGraph<'a, G, P> where
G: GraphSize<'a>,
P: 'a + for<'r> Fn(&'r G::Edge) -> bool, [src]
impl<'a, G, P> GraphSize<'a> for FilteredGraph<'a, G, P> where
G: GraphSize<'a>,
P: 'a + for<'r> Fn(&'r G::Edge) -> bool, [src]