Trait graph_theory::Graph

source ·
pub trait Graph {
    type Node: Node + Clone;
    type Edge: Edge + Clone;

    // Required methods
    fn count_nodes(&self) -> usize;
    fn get_node(&self, index: usize) -> Option<Cow<'_, Self::Node>>;

    // Provided methods
    fn get_nodes(&self) -> GetNodesVisitor<'_, Self>  { ... }
    fn mut_node(&mut self, index: usize) -> Option<&mut Self::Node> { ... }
    fn insert_node(&mut self, node: Self::Node) -> usize { ... }
    fn remove_node(&mut self, index: usize) -> Option<Self::Node> { ... }
}

Required Associated Types§

Required Methods§

source

fn count_nodes(&self) -> usize

source

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

Provided Methods§

source

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

source

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

source

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

source

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

Implementors§