Trait fast_graph::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.