[−][src]Trait rs_graph::traits::GraphSize
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 NodeIter: 'a + Iterator<Item = Self::Node>
Type of an iterator over all nodes.
type EdgeIter: 'a + Iterator<Item = Self::Edge>
Type of an iterator over all edges.
Required methods
fn num_nodes(&self) -> usize
Return the number of nodes in the graph.
fn num_edges(&self) -> usize
Return the number of edges in the graph.
fn nodes(&'a self) -> Self::NodeIter
Return an iterator over all nodes.
fn edges(&'a self) -> Self::EdgeIter
Return an iterator over all edges.
This iterator traverses only the forward edges.
Implementations on Foreign Types
impl<'a, 'g: 'a, G> GraphSize<'a> for &'g G where
G: GraphSize<'g>,
[src]
G: GraphSize<'g>,
type NodeIter = G::NodeIter
type EdgeIter = G::EdgeIter
fn num_nodes(&self) -> usize
[src]
fn num_edges(&self) -> usize
[src]
fn nodes(&'a self) -> Self::NodeIter
[src]
fn edges(&'a self) -> Self::EdgeIter
[src]
Implementors
impl<'a, G> GraphSize<'a> for Network<G> where
G: Digraph<'a>,
[src]
G: Digraph<'a>,
type NodeIter = G::NodeIter
type EdgeIter = NetworkEdgeIter<G::EdgeIter>
fn num_nodes(&self) -> usize
[src]
fn num_edges(&self) -> usize
[src]
fn nodes(&'a self) -> Self::NodeIter
[src]
fn edges(&'a self) -> Self::EdgeIter
[src]
impl<'a, G> GraphSize<'a> for ReverseDigraph<G> where
G: GraphSize<'a>,
[src]
G: GraphSize<'a>,
type NodeIter = G::NodeIter
type EdgeIter = G::EdgeIter
fn num_nodes(&self) -> usize
[src]
fn num_edges(&self) -> usize
[src]
fn nodes(&'a self) -> Self::NodeIter
[src]
fn edges(&'a self) -> Self::EdgeIter
[src]
impl<'a, G, Gx, Nx, Ex> GraphSize<'a> for Attributed<G, Gx, Nx, Ex> where
G: GraphSize<'a>,
Gx: Default,
Nx: Default,
Ex: Default,
[src]
G: GraphSize<'a>,
Gx: Default,
Nx: Default,
Ex: Default,
type NodeIter = G::NodeIter
type EdgeIter = G::EdgeIter
fn num_nodes(&self) -> usize
[src]
fn num_edges(&self) -> usize
[src]
fn nodes(&'a self) -> Self::NodeIter
[src]
fn edges(&'a self) -> Self::EdgeIter
[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]
G: GraphSize<'a>,
P: 'a + for<'r> Fn(&'r G::Edge) -> bool,
type NodeIter = G::NodeIter
type EdgeIter = Filter<G::EdgeIter, &'a P>
fn num_nodes(&self) -> usize
[src]
fn num_edges(&self) -> usize
[src]
fn nodes(&'a self) -> Self::NodeIter
[src]
fn edges(&'a self) -> Self::EdgeIter
[src]
impl<'a, ID, N, E> GraphSize<'a> for LinkedListGraph<ID, N, E> where
ID: 'a + PrimInt + Unsigned,
[src]
ID: 'a + PrimInt + Unsigned,