pub trait EdgeContainer: Sync + Send {
// Required methods
fn get_outgoing_edges<'a>(
&'a self,
node: NodeID,
) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>;
fn get_ingoing_edges<'a>(
&'a self,
node: NodeID,
) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>;
fn source_nodes<'a>(
&'a self,
) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>;
// Provided methods
fn has_outgoing_edges(&self, node: NodeID) -> Result<bool> { ... }
fn has_ingoing_edges(&self, node: NodeID) -> Result<bool> { ... }
fn get_statistics(&self) -> Option<&GraphStatistic> { ... }
fn root_nodes<'a>(&'a self) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a> { ... }
}
Expand description
Basic trait for accessing edges of a graph for a specific component.
Required Methods§
Sourcefn get_outgoing_edges<'a>(
&'a self,
node: NodeID,
) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
fn get_outgoing_edges<'a>( &'a self, node: NodeID, ) -> Box<dyn Iterator<Item = Result<NodeID>> + 'a>
Get all outgoing edges for a given node
.
Provided Methods§
Sourcefn has_outgoing_edges(&self, node: NodeID) -> Result<bool>
fn has_outgoing_edges(&self, node: NodeID) -> Result<bool>
Return true of the given node has any outgoing edges.
Sourcefn has_ingoing_edges(&self, node: NodeID) -> Result<bool>
fn has_ingoing_edges(&self, node: NodeID) -> Result<bool>
Return true of the given node has any incoming edges.