Trait rs_graph::graph::Graph

source ·
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; }
Expand description

Trait for a general undirected graph.

Required 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

Implementors