Trait SwhLabeledForwardGraph

Source
pub trait SwhLabeledForwardGraph: SwhForwardGraph {
    type LabeledArcs<'arc>: IntoIterator<Item = UntypedEdgeLabel>
       where Self: 'arc;
    type LabeledSuccessors<'node>: IntoIterator<Item = (usize, Self::LabeledArcs<'node>)> + IntoFlattenedLabeledArcsIterator<UntypedEdgeLabel>
       where Self: 'node;

    // Required method
    fn untyped_labeled_successors(
        &self,
        node_id: NodeId,
    ) -> Self::LabeledSuccessors<'_>;

    // Provided method
    fn labeled_successors(
        &self,
        node_id: NodeId,
    ) -> impl Iterator<Item = (usize, impl Iterator<Item = EdgeLabel>)> + IntoFlattenedLabeledArcsIterator<EdgeLabel>
       where Self: SwhGraphWithProperties + Sized,
             <Self as SwhGraphWithProperties>::Maps: Maps { ... }
}

Required Associated Types§

Source

type LabeledArcs<'arc>: IntoIterator<Item = UntypedEdgeLabel> where Self: 'arc

Source

type LabeledSuccessors<'node>: IntoIterator<Item = (usize, Self::LabeledArcs<'node>)> + IntoFlattenedLabeledArcsIterator<UntypedEdgeLabel> where Self: 'node

Required Methods§

Source

fn untyped_labeled_successors( &self, node_id: NodeId, ) -> Self::LabeledSuccessors<'_>

Return an IntoIterator over the successors of a node along with a list of labels of each arc

Provided Methods§

Source

fn labeled_successors( &self, node_id: NodeId, ) -> impl Iterator<Item = (usize, impl Iterator<Item = EdgeLabel>)> + IntoFlattenedLabeledArcsIterator<EdgeLabel>

Return an IntoIterator over the successors of a node along with a list of labels of each arc

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.

Implementors§

Source§

impl<G: SwhLabeledBackwardGraph> SwhLabeledForwardGraph for Transposed<G>

Source§

type LabeledArcs<'arc> = <G as SwhLabeledBackwardGraph>::LabeledArcs<'arc> where Self: 'arc

Source§

type LabeledSuccessors<'succ> = <G as SwhLabeledBackwardGraph>::LabeledPredecessors<'succ> where Self: 'succ

Source§

impl<G: SwhLabeledForwardGraph> SwhLabeledForwardGraph for GraphSpy<G>

Source§

type LabeledArcs<'arc> = <G as SwhLabeledForwardGraph>::LabeledArcs<'arc> where Self: 'arc

Source§

type LabeledSuccessors<'succ> = <G as SwhLabeledForwardGraph>::LabeledSuccessors<'succ> where Self: 'succ

Source§

impl<G: SwhLabeledForwardGraph, NodeFilter: Fn(usize) -> bool, ArcFilter: Fn(usize, usize) -> bool> SwhLabeledForwardGraph for Subgraph<G, NodeFilter, ArcFilter>

Source§

type LabeledArcs<'arc> = <G as SwhLabeledForwardGraph>::LabeledArcs<'arc> where Self: 'arc

Source§

type LabeledSuccessors<'node> = FilteredLabeledSuccessors<'node, <Subgraph<G, NodeFilter, ArcFilter> as SwhLabeledForwardGraph>::LabeledArcs<'node>, <<G as SwhLabeledForwardGraph>::LabeledSuccessors<'node> as IntoIterator>::IntoIter, NodeFilter, ArcFilter> where Self: 'node

Source§

impl<P, FG: UnderlyingGraph, BG: UnderlyingGraph> SwhLabeledForwardGraph for SwhBidirectionalGraph<P, FG, BG>
where <FG as SequentialLabeling>::Label: Pair<Left = NodeId, Right: IntoIterator<Item: Borrow<u64>>>, for<'succ> <FG as RandomAccessLabeling>::Labels<'succ>: Iterator<Item = (usize, <<FG as SequentialLabeling>::Label as Pair>::Right)>,

Source§

type LabeledArcs<'arc> = LabeledArcIterator<<<<<FG as RandomAccessLabeling>::Labels<'arc> as Iterator>::Item as Pair>::Right as IntoIterator>::IntoIter> where Self: 'arc

Source§

type LabeledSuccessors<'succ> = LabeledSuccessorIterator<<FG as RandomAccessLabeling>::Labels<'succ>> where Self: 'succ

Source§

impl<P, G: UnderlyingGraph> SwhLabeledForwardGraph for SwhUnidirectionalGraph<P, G>
where <G as SequentialLabeling>::Label: Pair<Left = NodeId, Right: IntoIterator<Item: Borrow<u64>>>, for<'succ> <G as RandomAccessLabeling>::Labels<'succ>: Iterator<Item = (usize, <<G as SequentialLabeling>::Label as Pair>::Right)>,

Source§

type LabeledArcs<'arc> = LabeledArcIterator<<<<<G as RandomAccessLabeling>::Labels<'arc> as Iterator>::Item as Pair>::Right as IntoIterator>::IntoIter> where Self: 'arc

Source§

type LabeledSuccessors<'succ> = LabeledSuccessorIterator<<G as RandomAccessLabeling>::Labels<'succ>> where Self: 'succ

Source§

impl<T: Deref> SwhLabeledForwardGraph for T

Source§

type LabeledArcs<'arc> = <<T as Deref>::Target as SwhLabeledForwardGraph>::LabeledArcs<'arc> where Self: 'arc

Source§

type LabeledSuccessors<'succ> = <<T as Deref>::Target as SwhLabeledForwardGraph>::LabeledSuccessors<'succ> where Self: 'succ