Trait petgraph::data::Build

source ·
pub trait Build: Data + NodeCount {
    // 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; // Provided method 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§

source

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

source

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.

Provided Methods§

source

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

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

Implementors§

source§

impl<E, Ix: IndexType> Build for List<E, Ix>

source§

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

source§

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

source§

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

source§

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