pub trait Build: Data + NodeCount {
    fn add_node(&mut self, weight: Self::NodeWeight) -> Self::NodeId;
    fn update_edge(
        &mut self, 
        a: Self::NodeId, 
        b: Self::NodeId, 
        weight: Self::EdgeWeight
    ) -> Self::EdgeId;
    fn add_edge(
        &mut self, 
        a: Self::NodeId, 
        b: Self::NodeId, 
        weight: Self::EdgeWeight
    ) -> Option<Self::EdgeId> { ... }
}Expand description
A graph that can be extended with further nodes and edges
Required methods
fn add_node(&mut self, weight: Self::NodeWeight) -> Self::NodeId
fn update_edge(
    &mut self, 
    a: Self::NodeId, 
    b: Self::NodeId, 
    weight: Self::EdgeWeight
) -> Self::EdgeId
fn update_edge(
    &mut self, 
    a: Self::NodeId, 
    b: Self::NodeId, 
    weight: Self::EdgeWeight
) -> Self::EdgeId
Add or update the edge from a to b. Return the id of the affected
edge.