Trait petgraph::data::Build[][src]

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> { ... } }

A graph that can be extended with further nodes and edges

Required methods

fn add_node(&mut self, weight: Self::NodeWeight) -> Self::NodeId[src]

fn update_edge(
    &mut self,
    a: Self::NodeId,
    b: Self::NodeId,
    weight: Self::EdgeWeight
) -> Self::EdgeId
[src]

Add or update the edge from a to b. Return the id of the affected edge.

Loading content...

Provided methods

fn add_edge(
    &mut self,
    a: Self::NodeId,
    b: Self::NodeId,
    weight: Self::EdgeWeight
) -> Option<Self::EdgeId>
[src]

Add a new edge. If parallel edges (duplicate) are not allowed and the edge already exists, return None.

Loading content...

Implementors

impl<N, E, Ty> Build for GraphMap<N, E, Ty> where
    Ty: EdgeType,
    N: NodeTrait
[src]

impl<N, E, Ty, Ix> Build for Graph<N, E, Ty, Ix> where
    Ty: EdgeType,
    Ix: IndexType
[src]

impl<N, E, Ty, Ix> Build for StableGraph<N, E, Ty, Ix> where
    Ty: EdgeType,
    Ix: IndexType
[src]

impl<N, E, Ty: EdgeType, Null: Nullable<Wrapped = E>, Ix: IndexType> Build for MatrixGraph<N, E, Ty, Null, Ix>[src]

Loading content...