Trait fast_graph::writer::GraphWriter
source · pub trait GraphWriter<N: Clone, E: Clone> {
// Required methods
fn add_node(&mut self, data: N) -> &Node<N>;
fn add_nodes(&mut self, data: &[N]) -> Vec<NodeID>;
fn add_edge(&mut self, from: NodeID, to: NodeID, data: E) -> &mut Edge<E>;
fn remove_node(&mut self, id: NodeID) -> Result<(), GraphError>;
fn remove_edge(&mut self, id: EdgeID) -> Result<(), GraphError>;
fn add_edges(&mut self, data: &[(NodeID, NodeID)]) -> Vec<EdgeID>
where E: Default;
// Provided methods
fn remove_nodes(&mut self, ids: &[NodeID]) -> Result<(), GraphError> { ... }
fn add_edges_with_data(
&mut self,
data: &[(NodeID, NodeID, E)]
) -> Vec<EdgeID> { ... }
fn add_nodes_and_edges(
&mut self,
data: Vec<(N, Vec<NodeID>)>
) -> (Vec<NodeID>, Vec<EdgeID>)
where E: Default { ... }
fn add_nodes_and_edges_with_data(
&mut self,
node_data: Vec<(N, Vec<(NodeID, E)>)>
) -> (Vec<NodeID>, Vec<EdgeID>) { ... }
}Expand description
GraphWriter is a trait for basic “write” operations on a graph; core operations needed to change a graph and some derived helper functions.