Trait rs_graph::graph::Graph[][src]

pub trait Graph<'a> where
    Self: Sized
{ type Node: 'a + Node; type Edge: 'a + Edge; type NodeIter: 'a + Iterator<Item = Self::Node>; type EdgeIter: 'a + Iterator<Item = Self::Edge>; type NeighIter: 'a + Iterator<Item = (Self::Edge, Self::Node)>; fn num_nodes(&self) -> usize;
fn num_edges(&self) -> usize;
fn enodes(&'a self, e: Self::Edge) -> (Self::Node, Self::Node);
fn nodes(&'a self) -> Self::NodeIter;
fn edges(&'a self) -> Self::EdgeIter;
fn neighs(&'a self, u: Self::Node) -> Self::NeighIter; }

Trait for a general undirected graph.

Associated Types

Type of a node.

Type of an edge.

Type of an iterator over all nodes.

Type of an iterator over all edges.

Type of an iterator over incident edges.

Required Methods

Return the number of nodes.

Return the number of edges.

Return the nodes connected by an edge.

The order of the nodes is undefined.

Return an iterator over all nodes.

Return an iterator over all edges.

This iterator traverses only the forward edges.

Return an iterator over the edges adjacent to some node.

This iterator traverses only the forward edges.

Implementations on Foreign Types

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

Implementors