pub trait EdgeContainer: Sync + Send {
// Required methods
fn get_outgoing_edges<'a>(
&'a self,
node: u64,
) -> Box<dyn Iterator<Item = Result<u64, GraphAnnisCoreError>> + 'a>;
fn get_ingoing_edges<'a>(
&'a self,
node: u64,
) -> Box<dyn Iterator<Item = Result<u64, GraphAnnisCoreError>> + 'a>;
fn source_nodes<'a>(
&'a self,
) -> Box<dyn Iterator<Item = Result<u64, GraphAnnisCoreError>> + 'a>;
// Provided methods
fn has_outgoing_edges(&self, node: u64) -> Result<bool, GraphAnnisCoreError> { ... }
fn has_ingoing_edges(&self, node: u64) -> Result<bool, GraphAnnisCoreError> { ... }
fn get_statistics(&self) -> Option<&GraphStatistic> { ... }
fn root_nodes<'a>(
&'a self,
) -> Box<dyn Iterator<Item = Result<u64, GraphAnnisCoreError>> + '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: u64,
) -> Box<dyn Iterator<Item = Result<u64, GraphAnnisCoreError>> + 'a>
fn get_outgoing_edges<'a>( &'a self, node: u64, ) -> Box<dyn Iterator<Item = Result<u64, GraphAnnisCoreError>> + 'a>
Get all outgoing edges for a given node
.
Sourcefn get_ingoing_edges<'a>(
&'a self,
node: u64,
) -> Box<dyn Iterator<Item = Result<u64, GraphAnnisCoreError>> + 'a>
fn get_ingoing_edges<'a>( &'a self, node: u64, ) -> Box<dyn Iterator<Item = Result<u64, GraphAnnisCoreError>> + 'a>
Get all incoming edges for a given node
.
Sourcefn source_nodes<'a>(
&'a self,
) -> Box<dyn Iterator<Item = Result<u64, GraphAnnisCoreError>> + 'a>
fn source_nodes<'a>( &'a self, ) -> Box<dyn Iterator<Item = Result<u64, GraphAnnisCoreError>> + 'a>
Provides an iterator over all nodes of this edge container that are the source of an edge.
Provided Methods§
Sourcefn has_outgoing_edges(&self, node: u64) -> Result<bool, GraphAnnisCoreError>
fn has_outgoing_edges(&self, node: u64) -> Result<bool, GraphAnnisCoreError>
Return true of the given node has any outgoing edges.
Sourcefn has_ingoing_edges(&self, node: u64) -> Result<bool, GraphAnnisCoreError>
fn has_ingoing_edges(&self, node: u64) -> Result<bool, GraphAnnisCoreError>
Return true of the given node has any incoming edges.
fn get_statistics(&self) -> Option<&GraphStatistic>
Sourcefn root_nodes<'a>(
&'a self,
) -> Box<dyn Iterator<Item = Result<u64, GraphAnnisCoreError>> + 'a>
fn root_nodes<'a>( &'a self, ) -> Box<dyn Iterator<Item = Result<u64, GraphAnnisCoreError>> + 'a>
Provides an iterator over all nodes of this edge container that have no incoming edges.