Trait Graph

Source
pub trait Graph {
    type EDGE: Edges;
    type NODE: Clone;

    // Required methods
    fn num_nodes(&self) -> usize;
    fn node_degree(&self, node_idx: usize) -> usize;
    fn node_value(&self, node_idx: usize) -> &Self::NODE;
    fn in_edges_of(&self, node_idx: usize) -> &Self::EDGE;
    fn out_edges_of(&self, node_idx: usize) -> &Self::EDGE;

    // Provided method
    fn to_petgraph(&self) -> PetGraph<Self::NODE, EdgeWeight, Directed> { ... }
}
Expand description

Abstract representation of a Graph. Used by the algorithm.

Required Associated Types§

Required Methods§

Source

fn num_nodes(&self) -> usize

Source

fn node_degree(&self, node_idx: usize) -> usize

Source

fn node_value(&self, node_idx: usize) -> &Self::NODE

Source

fn in_edges_of(&self, node_idx: usize) -> &Self::EDGE

Source

fn out_edges_of(&self, node_idx: usize) -> &Self::EDGE

Provided Methods§

Implementors§