Trait graph_types::Graph
source · pub trait Graph {
type Node: Node + Clone;
type Edge: Edge + Clone;
Show 13 methods
// Required methods
fn get_node(&self, index: usize) -> Option<Cow<'_, Self::Node>>;
fn count_nodes(&self) -> usize;
fn get_edge(&self, index: usize) -> Option<Cow<'_, Self::Edge>>;
fn count_edges(&self) -> usize;
// Provided methods
fn mut_node(&mut self, index: usize) -> Option<&mut Self::Node> { ... }
fn get_nodes(&self) -> GetNodesVisitor<'_, Self> ⓘ { ... }
fn insert_node(&mut self, node: Self::Node) -> usize { ... }
fn remove_node(&mut self, index: usize) -> Option<Self::Node> { ... }
fn mut_edge(&mut self, index: usize) -> Option<&mut Self::Edge> { ... }
fn get_edges(&self) -> GetEdgesVisitor<'_, Self> { ... }
fn mut_edges(&mut self) -> MutEdgesVisitor<'_, Self> { ... }
fn insert_edge(&mut self, edge: Self::Edge) -> Self::Edge { ... }
fn remove_edge(&mut self, index: Self::Edge) -> Option<Self::Edge> { ... }
}Expand description
Get basic information about the graph