Trait swh_graph::graph::SwhLabeledBackwardGraph

source ·
pub trait SwhLabeledBackwardGraph: SwhBackwardGraph {
    type LabeledArcs<'arc>: IntoIterator<Item = UntypedEdgeLabel>
       where Self: 'arc;
    type LabeledPredecessors<'node>: IntoIterator<Item = (usize, Self::LabeledArcs<'node>)> + IntoFlattenedLabeledArcsIterator<UntypedEdgeLabel>
       where Self: 'node;

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

    // Provided method
    fn labeled_predecessors(
        &self,
        node_id: NodeId,
    ) -> impl Iterator<Item = (usize, impl Iterator<Item = 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 LabeledPredecessors<'node>: IntoIterator<Item = (usize, Self::LabeledArcs<'node>)> + IntoFlattenedLabeledArcsIterator<UntypedEdgeLabel> where Self: 'node

Required Methods§

source

fn untyped_labeled_predecessors( &self, node_id: NodeId, ) -> Self::LabeledPredecessors<'_>

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

Provided Methods§

source

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

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

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<G: SwhLabeledBackwardGraph> SwhLabeledBackwardGraph for GraphSpy<G>

source§

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

source§

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

source§

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

source§

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

source§

type LabeledPredecessors<'node> = FilteredLabeledPredecessors<'node, <Subgraph<G, NodeFilter, ArcFilter> as SwhLabeledBackwardGraph>::LabeledArcs<'node>, <<G as SwhLabeledBackwardGraph>::LabeledPredecessors<'node> as IntoIterator>::IntoIter, NodeFilter, ArcFilter> where Self: 'node

source§

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

source§

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

source§

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

source§

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

source§

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

source§

type LabeledPredecessors<'succ> = LabeledSuccessorIterator<<BG as RandomAccessLabeling>::Labels<'succ>> where Self: 'succ

source§

impl<T: Deref> SwhLabeledBackwardGraph for T

source§

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

source§

type LabeledPredecessors<'succ> = <<T as Deref>::Target as SwhLabeledBackwardGraph>::LabeledPredecessors<'succ> where Self: 'succ