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

Required Associated Types§

Required Methods§

source

fn get_node(&self, index: usize) -> Option<Cow<'_, Self::Node>>

Arguments
  • index:

returns: Option<CowSelf::Node>

Examples
use graph_theory::Graph;
source

fn count_nodes(&self) -> usize

source

fn get_edge(&self, index: usize) -> Option<Cow<'_, Self::Edge>>

source

fn count_edges(&self) -> usize

Provided Methods§

source

fn mut_node(&mut self, index: usize) -> Option<&mut Self::Node>

source

fn get_nodes(&self) -> GetNodesVisitor<'_, Self>

source

fn insert_node(&mut self, node: Self::Node) -> usize

source

fn remove_node(&mut self, index: usize) -> Option<Self::Node>

source

fn mut_edge(&mut self, index: usize) -> Option<&mut Self::Edge>

source

fn get_edges(&self) -> GetEdgesVisitor<'_, Self>

source

fn mut_edges(&mut self) -> MutEdgesVisitor<'_, Self>

source

fn insert_edge(&mut self, edge: Self::Edge) -> Self::Edge

source

fn remove_edge(&mut self, index: Self::Edge) -> Option<Self::Edge>

Implementors§