[][src]Trait rs_graph::traits::GraphSize

pub trait GraphSize<'a>: GraphType<'a> {
    type NodeIter: 'a + Iterator<Item = Self::Node>;
    type EdgeIter: 'a + Iterator<Item = Self::Edge>;
    fn num_nodes(&self) -> usize;
fn num_edges(&self) -> usize;
fn nodes(&'a self) -> Self::NodeIter;
fn edges(&'a self) -> Self::EdgeIter; }

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.

Loading content...

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.

Loading content...

Implementations on Foreign Types

impl<'a, 'g: 'a, G> GraphSize<'a> for &'g G where
    G: GraphSize<'g>, 
[src]

type NodeIter = G::NodeIter

type EdgeIter = G::EdgeIter

Loading content...

Implementors

impl<'a, G> GraphSize<'a> for Network<G> where
    G: Digraph<'a>, 
[src]

type NodeIter = G::NodeIter

type EdgeIter = NetworkEdgeIter<G::EdgeIter>

impl<'a, G> GraphSize<'a> for ReverseDigraph<G> where
    G: GraphSize<'a>, 
[src]

type NodeIter = G::NodeIter

type EdgeIter = G::EdgeIter

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]

type NodeIter = G::NodeIter

type EdgeIter = G::EdgeIter

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]

type NodeIter = G::NodeIter

type EdgeIter = Filter<G::EdgeIter, &'a P>

impl<'a, ID, N, E> GraphSize<'a> for LinkedListGraph<ID, N, E> where
    ID: 'a + PrimInt + Unsigned
[src]

type NodeIter = NodeIter<ID>

type EdgeIter = EdgeIter<ID>

Loading content...