Skip to main content

SwhLabeledForwardGraph

Trait SwhLabeledForwardGraph 

Source
pub trait SwhLabeledForwardGraph: SwhForwardGraph + SwhGraphWithProperties<Maps: Maps> {
    type LabeledArcs<'arc>: Iterator<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> + '_ { ... }
}

Required Associated Types§

Source

type LabeledArcs<'arc>: Iterator<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".

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, N: ContractionBackend, MAPS: Maps, TIMESTAMPS: MaybeTimestamps, PERSONS: MaybePersons, CONTENTS: MaybeContents, STRINGS: MaybeStrings, LABELNAMES: MaybeLabelNames> SwhLabeledForwardGraph for ContiguousSubgraph<G, N, MAPS, TIMESTAMPS, PERSONS, CONTENTS, STRINGS, LABELNAMES>

Source§

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

Source§

type LabeledSuccessors<'node> = TranslatedLabeledSuccessors<'node, <ContiguousSubgraph<G, N, MAPS, TIMESTAMPS, PERSONS, CONTENTS, STRINGS, LABELNAMES> as SwhLabeledForwardGraph>::LabeledArcs<'node>, <<G as SwhLabeledForwardGraph>::LabeledSuccessors<'node> as IntoIterator>::IntoIter, N> where Self: 'node

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)>, Self: SwhGraphWithProperties<Maps: Maps>,

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)>, Self: SwhGraphWithProperties<Maps: Maps>,

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