pub trait TraversalNeighborStrategy<Graph: GraphBase> {
type Iterator<'a>: Iterator<Item = Neighbor<Graph::NodeIndex, Graph::EdgeIndex>>
where Self: 'a,
Graph: 'a;
type EdgeNeighborIterator<'a>: Iterator<Item = Graph::NodeIndex>
where Self: 'a,
Graph: 'a;
// Required methods
fn neighbor_iterator(
graph: &Graph,
node: Graph::NodeIndex,
) -> Self::Iterator<'_>;
fn edge_neighbor_iterator(
graph: &Graph,
edge: Graph::EdgeIndex,
) -> Self::EdgeNeighborIterator<'_>;
}
Expand description
A type that defines the strategy for computing the neighborhood of a node or edge, i.e. forward, backward or undirected.
Required Associated Types§
Sourcetype Iterator<'a>: Iterator<Item = Neighbor<Graph::NodeIndex, Graph::EdgeIndex>>
where
Self: 'a,
Graph: 'a
type Iterator<'a>: Iterator<Item = Neighbor<Graph::NodeIndex, Graph::EdgeIndex>> where Self: 'a, Graph: 'a
The iterator type used to iterate over the neighbors of a node.
Sourcetype EdgeNeighborIterator<'a>: Iterator<Item = Graph::NodeIndex>
where
Self: 'a,
Graph: 'a
type EdgeNeighborIterator<'a>: Iterator<Item = Graph::NodeIndex> where Self: 'a, Graph: 'a
The iterator type used to iterate over the neighbors of an edge.
Required Methods§
Sourcefn neighbor_iterator(
graph: &Graph,
node: Graph::NodeIndex,
) -> Self::Iterator<'_>
fn neighbor_iterator( graph: &Graph, node: Graph::NodeIndex, ) -> Self::Iterator<'_>
Returns an iterator over the neighbors of a given node.
Sourcefn edge_neighbor_iterator(
graph: &Graph,
edge: Graph::EdgeIndex,
) -> Self::EdgeNeighborIterator<'_>
fn edge_neighbor_iterator( graph: &Graph, edge: Graph::EdgeIndex, ) -> Self::EdgeNeighborIterator<'_>
Returns an iterator over the neighbors of an edge.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.