[][src]Trait gamma::graph::Graph

pub trait Graph<'a, N: 'a> {
    type NodeIterator: Iterator<Item = &'a N>;
    type NeighborIterator: Iterator<Item = &'a N>;
    type EdgeIterator: Iterator<Item = (&'a N, &'a N)>;
    fn is_empty(&self) -> bool;
fn order(&self) -> usize;
fn size(&self) -> usize;
fn nodes(&'a self) -> Self::NodeIterator;
fn has_node(&self, node: &N) -> bool;
fn neighbors(&'a self, node: &N) -> Result<Self::NeighborIterator, Error>;
fn degree(&self, node: &N) -> Result<usize, Error>;
fn edges(&'a self) -> Self::EdgeIterator;
fn has_edge(&self, source: &N, target: &N) -> Result<bool, Error>; }

An undirected graph.

Associated Types

Loading content...

Required methods

fn is_empty(&self) -> bool

Returns true if there are no nodes, or false otherwise.

fn order(&self) -> usize

fn size(&self) -> usize

fn nodes(&'a self) -> Self::NodeIterator

fn has_node(&self, node: &N) -> bool

fn neighbors(&'a self, node: &N) -> Result<Self::NeighborIterator, Error>

fn degree(&self, node: &N) -> Result<usize, Error>

fn edges(&'a self) -> Self::EdgeIterator

fn has_edge(&self, source: &N, target: &N) -> Result<bool, Error>

Loading content...

Implementors

impl<'a, N: 'a + Eq + Hash, E: 'a> Graph<'a, N> for StableGraph<N, E>[src]

type NodeIterator = NodeIterator<'a, N>

type NeighborIterator = NeighborIterator<'a, N, E>

type EdgeIterator = EdgeIterator<'a, N>

Loading content...