Trait swh_graph::graph::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

Object Safety§

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