pub trait GraphOps: GraphBase {
// Required methods
fn add_node(&mut self, data: Self::NodeData) -> GraphResult<NodeIndex>;
fn remove_node(&mut self, index: NodeIndex) -> GraphResult<Self::NodeData>;
fn add_edge(
&mut self,
from: NodeIndex,
to: NodeIndex,
data: Self::EdgeData,
) -> GraphResult<EdgeIndex>;
fn remove_edge(&mut self, index: EdgeIndex) -> GraphResult<Self::EdgeData>;
fn update_node(
&mut self,
index: NodeIndex,
data: Self::NodeData,
) -> GraphResult<Self::NodeData>;
fn update_edge(
&mut self,
index: EdgeIndex,
data: Self::EdgeData,
) -> GraphResult<Self::EdgeData>;
fn clear(&mut self);
fn reserve(&mut self, additional_nodes: usize, additional_edges: usize);
}Expand description
图可变操作 trait
定义图的可变操作
Required Methods§
Sourcefn add_node(&mut self, data: Self::NodeData) -> GraphResult<NodeIndex>
fn add_node(&mut self, data: Self::NodeData) -> GraphResult<NodeIndex>
添加节点
Sourcefn remove_node(&mut self, index: NodeIndex) -> GraphResult<Self::NodeData>
fn remove_node(&mut self, index: NodeIndex) -> GraphResult<Self::NodeData>
删除节点,返回节点数据
Sourcefn add_edge(
&mut self,
from: NodeIndex,
to: NodeIndex,
data: Self::EdgeData,
) -> GraphResult<EdgeIndex>
fn add_edge( &mut self, from: NodeIndex, to: NodeIndex, data: Self::EdgeData, ) -> GraphResult<EdgeIndex>
添加边
Sourcefn remove_edge(&mut self, index: EdgeIndex) -> GraphResult<Self::EdgeData>
fn remove_edge(&mut self, index: EdgeIndex) -> GraphResult<Self::EdgeData>
删除边,返回边数据
Sourcefn update_node(
&mut self,
index: NodeIndex,
data: Self::NodeData,
) -> GraphResult<Self::NodeData>
fn update_node( &mut self, index: NodeIndex, data: Self::NodeData, ) -> GraphResult<Self::NodeData>
更新节点数据,返回旧数据
Sourcefn update_edge(
&mut self,
index: EdgeIndex,
data: Self::EdgeData,
) -> GraphResult<Self::EdgeData>
fn update_edge( &mut self, index: EdgeIndex, data: Self::EdgeData, ) -> GraphResult<Self::EdgeData>
更新边数据,返回旧数据