toolbox_rs::graph

Trait Graph

Source
pub trait Graph<T> {
    // Required methods
    fn node_range(&self) -> Range<NodeID>;
    fn edge_range(&self, n: NodeID) -> Range<EdgeID>;
    fn number_of_nodes(&self) -> usize;
    fn number_of_edges(&self) -> usize;
    fn begin_edges(&self, n: NodeID) -> EdgeID;
    fn end_edges(&self, n: NodeID) -> EdgeID;
    fn out_degree(&self, n: NodeID) -> usize;
    fn target(&self, e: EdgeID) -> NodeID;
    fn data(&self, e: EdgeID) -> &T;
    fn data_mut(&mut self, e: EdgeID) -> &mut T;
    fn find_edge(&self, s: NodeID, t: NodeID) -> Option<EdgeID>;
    fn find_edge_unchecked(&self, s: NodeID, t: NodeID) -> EdgeID;
}

Required Methods§

Source

fn node_range(&self) -> Range<NodeID>

Source

fn edge_range(&self, n: NodeID) -> Range<EdgeID>

Source

fn number_of_nodes(&self) -> usize

Source

fn number_of_edges(&self) -> usize

Source

fn begin_edges(&self, n: NodeID) -> EdgeID

Source

fn end_edges(&self, n: NodeID) -> EdgeID

Source

fn out_degree(&self, n: NodeID) -> usize

Source

fn target(&self, e: EdgeID) -> NodeID

Source

fn data(&self, e: EdgeID) -> &T

Source

fn data_mut(&mut self, e: EdgeID) -> &mut T

Source

fn find_edge(&self, s: NodeID, t: NodeID) -> Option<EdgeID>

Source

fn find_edge_unchecked(&self, s: NodeID, t: NodeID) -> EdgeID

Implementors§

Source§

impl<T: Ord + Copy> Graph<T> for StaticGraph<T>