Trait graphannis_core::graph::storage::EdgeContainer
source · 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.