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.