[][src]Trait amadeus::par_sink::ParallelSink

#[must_use]pub trait ParallelSink<Source> where
    <Self::ReduceAFactory as Factory>::Item == Self::ReduceA,
    <Self::ReduceA as Reducer>::Item == <Self::Pipe as ParallelPipe<Source>>::Item,
    <Self::ReduceC as Reducer>::Item == <Self::ReduceA as Reducer>::Output,
    <Self::ReduceC as Reducer>::Output == Self::Output
{ type Output; type Pipe: ParallelPipe<Source>; type ReduceAFactory: Factory; type ReduceA: ReducerSend + Send; type ReduceC: Reducer; fn reducers(self) -> (Self::Pipe, Self::ReduceAFactory, Self::ReduceC); }

Associated Types

Loading content...

Required methods

fn reducers(self) -> (Self::Pipe, Self::ReduceAFactory, Self::ReduceC)

Loading content...

Implementations on Foreign Types

impl<Source, R0, R1, R2, R3, R4, R5, O0, O1, O2, O3, O4, O5> ParallelSink<Source> for (R0, R1, R2, R3, R4, R5) where
    R0: ParallelSink<Source, Output = O0>,
    R1: ParallelSink<Source, Output = O1>,
    R2: ParallelSink<Source, Output = O2>,
    R3: ParallelSink<Source, Output = O3>,
    R4: ParallelSink<Source, Output = O4>,
    R5: ParallelSink<Source, Output = O5>,
    Source: Copy
[src]

type Output = (O0, O1, O2, O3, O4, O5)

type Pipe = (<R0 as ParallelSink<Source>>::Pipe, <R1 as ParallelSink<Source>>::Pipe, <R2 as ParallelSink<Source>>::Pipe, <R3 as ParallelSink<Source>>::Pipe, <R4 as ParallelSink<Source>>::Pipe, <R5 as ParallelSink<Source>>::Pipe)

type ReduceAFactory = ReduceA6Factory<<R0 as ParallelSink<Source>>::ReduceAFactory, <R1 as ParallelSink<Source>>::ReduceAFactory, <R2 as ParallelSink<Source>>::ReduceAFactory, <R3 as ParallelSink<Source>>::ReduceAFactory, <R4 as ParallelSink<Source>>::ReduceAFactory, <R5 as ParallelSink<Source>>::ReduceAFactory>

type ReduceA = ReduceA6<<R0 as ParallelSink<Source>>::ReduceA, <R1 as ParallelSink<Source>>::ReduceA, <R2 as ParallelSink<Source>>::ReduceA, <R3 as ParallelSink<Source>>::ReduceA, <R4 as ParallelSink<Source>>::ReduceA, <R5 as ParallelSink<Source>>::ReduceA>

type ReduceC = ReduceC6<<R0 as ParallelSink<Source>>::ReduceC, <R1 as ParallelSink<Source>>::ReduceC, <R2 as ParallelSink<Source>>::ReduceC, <R3 as ParallelSink<Source>>::ReduceC, <R4 as ParallelSink<Source>>::ReduceC, <R5 as ParallelSink<Source>>::ReduceC>

impl<Source, R0, R1, R2, R3, O0, O1, O2, O3> ParallelSink<Source> for (R0, R1, R2, R3) where
    R0: ParallelSink<Source, Output = O0>,
    R1: ParallelSink<Source, Output = O1>,
    R2: ParallelSink<Source, Output = O2>,
    R3: ParallelSink<Source, Output = O3>,
    Source: Copy
[src]

type Output = (O0, O1, O2, O3)

type Pipe = (<R0 as ParallelSink<Source>>::Pipe, <R1 as ParallelSink<Source>>::Pipe, <R2 as ParallelSink<Source>>::Pipe, <R3 as ParallelSink<Source>>::Pipe)

type ReduceAFactory = ReduceA4Factory<<R0 as ParallelSink<Source>>::ReduceAFactory, <R1 as ParallelSink<Source>>::ReduceAFactory, <R2 as ParallelSink<Source>>::ReduceAFactory, <R3 as ParallelSink<Source>>::ReduceAFactory>

type ReduceA = ReduceA4<<R0 as ParallelSink<Source>>::ReduceA, <R1 as ParallelSink<Source>>::ReduceA, <R2 as ParallelSink<Source>>::ReduceA, <R3 as ParallelSink<Source>>::ReduceA>

type ReduceC = ReduceC4<<R0 as ParallelSink<Source>>::ReduceC, <R1 as ParallelSink<Source>>::ReduceC, <R2 as ParallelSink<Source>>::ReduceC, <R3 as ParallelSink<Source>>::ReduceC>

impl<Source, R0, R1, R2, O0, O1, O2> ParallelSink<Source> for (R0, R1, R2) where
    R0: ParallelSink<Source, Output = O0>,
    R1: ParallelSink<Source, Output = O1>,
    R2: ParallelSink<Source, Output = O2>,
    Source: Copy
[src]

type Output = (O0, O1, O2)

type Pipe = (<R0 as ParallelSink<Source>>::Pipe, <R1 as ParallelSink<Source>>::Pipe, <R2 as ParallelSink<Source>>::Pipe)

type ReduceAFactory = ReduceA3Factory<<R0 as ParallelSink<Source>>::ReduceAFactory, <R1 as ParallelSink<Source>>::ReduceAFactory, <R2 as ParallelSink<Source>>::ReduceAFactory>

type ReduceA = ReduceA3<<R0 as ParallelSink<Source>>::ReduceA, <R1 as ParallelSink<Source>>::ReduceA, <R2 as ParallelSink<Source>>::ReduceA>

type ReduceC = ReduceC3<<R0 as ParallelSink<Source>>::ReduceC, <R1 as ParallelSink<Source>>::ReduceC, <R2 as ParallelSink<Source>>::ReduceC>

impl<Source, R0, R1, R2, R3, R4, O0, O1, O2, O3, O4> ParallelSink<Source> for (R0, R1, R2, R3, R4) where
    R0: ParallelSink<Source, Output = O0>,
    R1: ParallelSink<Source, Output = O1>,
    R2: ParallelSink<Source, Output = O2>,
    R3: ParallelSink<Source, Output = O3>,
    R4: ParallelSink<Source, Output = O4>,
    Source: Copy
[src]

type Output = (O0, O1, O2, O3, O4)

type Pipe = (<R0 as ParallelSink<Source>>::Pipe, <R1 as ParallelSink<Source>>::Pipe, <R2 as ParallelSink<Source>>::Pipe, <R3 as ParallelSink<Source>>::Pipe, <R4 as ParallelSink<Source>>::Pipe)

type ReduceAFactory = ReduceA5Factory<<R0 as ParallelSink<Source>>::ReduceAFactory, <R1 as ParallelSink<Source>>::ReduceAFactory, <R2 as ParallelSink<Source>>::ReduceAFactory, <R3 as ParallelSink<Source>>::ReduceAFactory, <R4 as ParallelSink<Source>>::ReduceAFactory>

type ReduceA = ReduceA5<<R0 as ParallelSink<Source>>::ReduceA, <R1 as ParallelSink<Source>>::ReduceA, <R2 as ParallelSink<Source>>::ReduceA, <R3 as ParallelSink<Source>>::ReduceA, <R4 as ParallelSink<Source>>::ReduceA>

type ReduceC = ReduceC5<<R0 as ParallelSink<Source>>::ReduceC, <R1 as ParallelSink<Source>>::ReduceC, <R2 as ParallelSink<Source>>::ReduceC, <R3 as ParallelSink<Source>>::ReduceC, <R4 as ParallelSink<Source>>::ReduceC>

impl<Source, R0, R1, O0, O1> ParallelSink<Source> for (R0, R1) where
    R0: ParallelSink<Source, Output = O0>,
    R1: ParallelSink<Source, Output = O1>,
    Source: Copy
[src]

type Output = (O0, O1)

type Pipe = (<R0 as ParallelSink<Source>>::Pipe, <R1 as ParallelSink<Source>>::Pipe)

type ReduceAFactory = ReduceA2Factory<<R0 as ParallelSink<Source>>::ReduceAFactory, <R1 as ParallelSink<Source>>::ReduceAFactory>

type ReduceA = ReduceA2<<R0 as ParallelSink<Source>>::ReduceA, <R1 as ParallelSink<Source>>::ReduceA>

type ReduceC = ReduceC2<<R0 as ParallelSink<Source>>::ReduceC, <R1 as ParallelSink<Source>>::ReduceC>

impl<Source, R0, R1, R2, R3, R4, R5, R6, O0, O1, O2, O3, O4, O5, O6> ParallelSink<Source> for (R0, R1, R2, R3, R4, R5, R6) where
    R0: ParallelSink<Source, Output = O0>,
    R1: ParallelSink<Source, Output = O1>,
    R2: ParallelSink<Source, Output = O2>,
    R3: ParallelSink<Source, Output = O3>,
    R4: ParallelSink<Source, Output = O4>,
    R5: ParallelSink<Source, Output = O5>,
    R6: ParallelSink<Source, Output = O6>,
    Source: Copy
[src]

type Output = (O0, O1, O2, O3, O4, O5, O6)

type Pipe = (<R0 as ParallelSink<Source>>::Pipe, <R1 as ParallelSink<Source>>::Pipe, <R2 as ParallelSink<Source>>::Pipe, <R3 as ParallelSink<Source>>::Pipe, <R4 as ParallelSink<Source>>::Pipe, <R5 as ParallelSink<Source>>::Pipe, <R6 as ParallelSink<Source>>::Pipe)

type ReduceAFactory = ReduceA7Factory<<R0 as ParallelSink<Source>>::ReduceAFactory, <R1 as ParallelSink<Source>>::ReduceAFactory, <R2 as ParallelSink<Source>>::ReduceAFactory, <R3 as ParallelSink<Source>>::ReduceAFactory, <R4 as ParallelSink<Source>>::ReduceAFactory, <R5 as ParallelSink<Source>>::ReduceAFactory, <R6 as ParallelSink<Source>>::ReduceAFactory>

type ReduceA = ReduceA7<<R0 as ParallelSink<Source>>::ReduceA, <R1 as ParallelSink<Source>>::ReduceA, <R2 as ParallelSink<Source>>::ReduceA, <R3 as ParallelSink<Source>>::ReduceA, <R4 as ParallelSink<Source>>::ReduceA, <R5 as ParallelSink<Source>>::ReduceA, <R6 as ParallelSink<Source>>::ReduceA>

type ReduceC = ReduceC7<<R0 as ParallelSink<Source>>::ReduceC, <R1 as ParallelSink<Source>>::ReduceC, <R2 as ParallelSink<Source>>::ReduceC, <R3 as ParallelSink<Source>>::ReduceC, <R4 as ParallelSink<Source>>::ReduceC, <R5 as ParallelSink<Source>>::ReduceC, <R6 as ParallelSink<Source>>::ReduceC>

impl<Source, R0, R1, R2, R3, R4, R5, R6, R7, O0, O1, O2, O3, O4, O5, O6, O7> ParallelSink<Source> for (R0, R1, R2, R3, R4, R5, R6, R7) where
    R0: ParallelSink<Source, Output = O0>,
    R1: ParallelSink<Source, Output = O1>,
    R2: ParallelSink<Source, Output = O2>,
    R3: ParallelSink<Source, Output = O3>,
    R4: ParallelSink<Source, Output = O4>,
    R5: ParallelSink<Source, Output = O5>,
    R6: ParallelSink<Source, Output = O6>,
    R7: ParallelSink<Source, Output = O7>,
    Source: Copy
[src]

type Output = (O0, O1, O2, O3, O4, O5, O6, O7)

type Pipe = (<R0 as ParallelSink<Source>>::Pipe, <R1 as ParallelSink<Source>>::Pipe, <R2 as ParallelSink<Source>>::Pipe, <R3 as ParallelSink<Source>>::Pipe, <R4 as ParallelSink<Source>>::Pipe, <R5 as ParallelSink<Source>>::Pipe, <R6 as ParallelSink<Source>>::Pipe, <R7 as ParallelSink<Source>>::Pipe)

type ReduceAFactory = ReduceA8Factory<<R0 as ParallelSink<Source>>::ReduceAFactory, <R1 as ParallelSink<Source>>::ReduceAFactory, <R2 as ParallelSink<Source>>::ReduceAFactory, <R3 as ParallelSink<Source>>::ReduceAFactory, <R4 as ParallelSink<Source>>::ReduceAFactory, <R5 as ParallelSink<Source>>::ReduceAFactory, <R6 as ParallelSink<Source>>::ReduceAFactory, <R7 as ParallelSink<Source>>::ReduceAFactory>

type ReduceA = ReduceA8<<R0 as ParallelSink<Source>>::ReduceA, <R1 as ParallelSink<Source>>::ReduceA, <R2 as ParallelSink<Source>>::ReduceA, <R3 as ParallelSink<Source>>::ReduceA, <R4 as ParallelSink<Source>>::ReduceA, <R5 as ParallelSink<Source>>::ReduceA, <R6 as ParallelSink<Source>>::ReduceA, <R7 as ParallelSink<Source>>::ReduceA>

type ReduceC = ReduceC8<<R0 as ParallelSink<Source>>::ReduceC, <R1 as ParallelSink<Source>>::ReduceC, <R2 as ParallelSink<Source>>::ReduceC, <R3 as ParallelSink<Source>>::ReduceC, <R4 as ParallelSink<Source>>::ReduceC, <R5 as ParallelSink<Source>>::ReduceC, <R6 as ParallelSink<Source>>::ReduceC, <R7 as ParallelSink<Source>>::ReduceC>

impl<Source, R0, O0> ParallelSink<Source> for (R0,) where
    R0: ParallelSink<Source, Output = O0>, 
[src]

type Output = (O0,)

type Pipe = (<R0 as ParallelSink<Source>>::Pipe,)

type ReduceAFactory = ReduceA1Factory<<R0 as ParallelSink<Source>>::ReduceAFactory>

type ReduceA = ReduceA1<<R0 as ParallelSink<Source>>::ReduceA>

type ReduceC = ReduceC1<<R0 as ParallelSink<Source>>::ReduceC>

impl<Source> ParallelSink<Source> for ()[src]

type Output = ()

type Pipe = ()

type ReduceAFactory = ReduceA0Factory

type ReduceA = ReduceA0

type ReduceC = ReduceC0

Loading content...

Implementors

impl<A, B, Source> ParallelSink<Source> for Pipe<A, B> where
    A: ParallelPipe<Source>,
    B: ParallelSink<<A as ParallelPipe<Source>>::Item>, 
[src]

type Output = <B as ParallelSink<<A as ParallelPipe<Source>>::Item>>::Output

type Pipe = Pipe<A, <B as ParallelSink<<A as ParallelPipe<Source>>::Item>>::Pipe>

type ReduceAFactory = <B as ParallelSink<<A as ParallelPipe<Source>>::Item>>::ReduceAFactory

type ReduceA = <B as ParallelSink<<A as ParallelPipe<Source>>::Item>>::ReduceA

type ReduceC = <B as ParallelSink<<A as ParallelPipe<Source>>::Item>>::ReduceC

impl<I, Source> ParallelSink<Source> for Count<I> where
    I: ParallelPipe<Source>, 
[src]

type Output = <<Count<I> as ParallelSink<Source>>::ReduceC as Reducer>::Output

type Pipe = I

type ReduceAFactory = FolderSyncReducerFactory<<I as ParallelPipe<Source>>::Item, CountFolder>

type ReduceA = FolderSyncReducer<<I as ParallelPipe<Source>>::Item, CountFolder>

type ReduceC = FolderSyncReducer<<<Count<I> as ParallelSink<Source>>::ReduceA as Reducer>::Output, SumFolder<usize>>

impl<I, Source> ParallelSink<Source> for Histogram<I> where
    I: ParallelPipe<Source>,
    <I as ParallelPipe<Source>>::Item: Hash,
    <I as ParallelPipe<Source>>::Item: Ord,
    <I as ParallelPipe<Source>>::Item: Send,
    <I as ParallelPipe<Source>>::Item: 'static, 
[src]

type Output = <<Histogram<I> as ParallelSink<Source>>::ReduceC as Reducer>::Output

type Pipe = I

type ReduceAFactory = FolderSyncReducerFactory<<I as ParallelPipe<Source>>::Item, HistogramFolder<<I as ParallelPipe<Source>>::Item, StepA>>

type ReduceA = FolderSyncReducer<<I as ParallelPipe<Source>>::Item, HistogramFolder<<I as ParallelPipe<Source>>::Item, StepA>>

type ReduceC = FolderSyncReducer<<<Histogram<I> as ParallelSink<Source>>::ReduceA as Reducer>::Output, HistogramFolder<<I as ParallelPipe<Source>>::Item, StepB>>

impl<I, Source> ParallelSink<Source> for Max<I> where
    I: ParallelPipe<Source>,
    <I as ParallelPipe<Source>>::Item: Ord,
    <I as ParallelPipe<Source>>::Item: Send,
    <I as ParallelPipe<Source>>::Item: 'static, 
[src]

type Output = <<Max<I> as ParallelSink<Source>>::ReduceC as Reducer>::Output

type Pipe = I

type ReduceAFactory = FolderSyncReducerFactory<<I as ParallelPipe<Source>>::Item, Max<<I as ParallelPipe<Source>>::Item>>

type ReduceA = FolderSyncReducer<<I as ParallelPipe<Source>>::Item, Max<<I as ParallelPipe<Source>>::Item>>

type ReduceC = FolderSyncReducer<<<Max<I> as ParallelSink<Source>>::ReduceA as Reducer>::Output, Max<<I as ParallelPipe<Source>>::Item>>

impl<I, Source> ParallelSink<Source> for Min<I> where
    I: ParallelPipe<Source>,
    <I as ParallelPipe<Source>>::Item: Ord,
    <I as ParallelPipe<Source>>::Item: Send,
    <I as ParallelPipe<Source>>::Item: 'static, 
[src]

type Output = <<Min<I> as ParallelSink<Source>>::ReduceC as Reducer>::Output

type Pipe = I

type ReduceAFactory = FolderSyncReducerFactory<<I as ParallelPipe<Source>>::Item, Min<<I as ParallelPipe<Source>>::Item>>

type ReduceA = FolderSyncReducer<<I as ParallelPipe<Source>>::Item, Min<<I as ParallelPipe<Source>>::Item>>

type ReduceC = FolderSyncReducer<<<Min<I> as ParallelSink<Source>>::ReduceA as Reducer>::Output, Min<<I as ParallelPipe<Source>>::Item>>

impl<I, Source> ParallelSink<Source> for MostFrequent<I> where
    I: ParallelPipe<Source>,
    <I as ParallelPipe<Source>>::Item: Clone,
    <I as ParallelPipe<Source>>::Item: Hash,
    <I as ParallelPipe<Source>>::Item: Eq,
    <I as ParallelPipe<Source>>::Item: Send,
    <I as ParallelPipe<Source>>::Item: 'static, 
[src]

impl<I, Source> ParallelSink<Source> for SampleUnstable<I> where
    I: ParallelPipe<Source>,
    <I as ParallelPipe<Source>>::Item: Send,
    <I as ParallelPipe<Source>>::Item: 'static, 
[src]

impl<I, Source, A, B> ParallelSink<Source> for MostDistinct<I> where
    A: Clone + Hash + Eq + Send + 'static,
    B: Hash + 'static,
    I: ParallelPipe<Source, Item = (A, B)>, 
[src]

impl<I, Source, A, B, ID, F, C> ParallelSink<Source> for GroupBy<I, ID, F, C> where
    A: Eq + Hash + Send + 'static,
    C: Send + 'static,
    F: FnMut(C, Either<B, C>) -> C + Clone + Send + 'static,
    I: ParallelPipe<Source, Item = (A, B)>,
    ID: FnMut() -> C + Clone + Send + 'static, 
[src]

type Output = <<GroupBy<I, ID, F, C> as ParallelSink<Source>>::ReduceC as Reducer>::Output

type Pipe = I

type ReduceAFactory = FolderSyncReducerFactory<<I as ParallelPipe<Source>>::Item, GroupByFolder<A, B, ID, F, C, StepA>>

type ReduceA = FolderSyncReducer<<I as ParallelPipe<Source>>::Item, GroupByFolder<A, B, ID, F, C, StepA>>

type ReduceC = FolderSyncReducer<<<GroupBy<I, ID, F, C> as ParallelSink<Source>>::ReduceA as Reducer>::Output, GroupByFolder<A, B, ID, F, C, StepB>>

impl<I, Source, B> ParallelSink<Source> for Sum<I, B> where
    B: Sum<<I as ParallelPipe<Source>>::Item> + Sum<B> + Send + 'static,
    I: ParallelPipe<Source>, 
[src]

type Output = <<Sum<I, B> as ParallelSink<Source>>::ReduceC as Reducer>::Output

type Pipe = I

type ReduceAFactory = FolderSyncReducerFactory<<I as ParallelPipe<Source>>::Item, SumFolder<B>>

type ReduceA = FolderSyncReducer<<I as ParallelPipe<Source>>::Item, SumFolder<B>>

type ReduceC = FolderSyncReducer<<<Sum<I, B> as ParallelSink<Source>>::ReduceA as Reducer>::Output, SumFolder<B>>

impl<I, Source, F> ParallelSink<Source> for All<I, F> where
    F: FnMut(<I as ParallelPipe<Source>>::Item) -> bool + Clone + Send + 'static,
    I: ParallelPipe<Source>, 
[src]

type Output = bool

type Pipe = I

type ReduceAFactory = AllReducerFactory<<I as ParallelPipe<Source>>::Item, F>

type ReduceA = AllReducer<<I as ParallelPipe<Source>>::Item, F>

type ReduceC = BoolAndReducer

impl<I, Source, F> ParallelSink<Source> for Any<I, F> where
    F: FnMut(<I as ParallelPipe<Source>>::Item) -> bool + Clone + Send + 'static,
    I: ParallelPipe<Source>, 
[src]

type Output = bool

type Pipe = I

type ReduceAFactory = AnyReducerFactory<<I as ParallelPipe<Source>>::Item, F>

type ReduceA = AnyReducer<<I as ParallelPipe<Source>>::Item, F>

type ReduceC = BoolOrReducer

impl<I, Source, F> ParallelSink<Source> for Combine<I, F> where
    F: FnMut(<I as ParallelPipe<Source>>::Item, <I as ParallelPipe<Source>>::Item) -> <I as ParallelPipe<Source>>::Item + Clone + Send + 'static,
    I: ParallelPipe<Source>,
    <I as ParallelPipe<Source>>::Item: Send,
    <I as ParallelPipe<Source>>::Item: 'static, 
[src]

type Output = <<Combine<I, F> as ParallelSink<Source>>::ReduceC as Reducer>::Output

type Pipe = I

type ReduceAFactory = FolderSyncReducerFactory<<I as ParallelPipe<Source>>::Item, ReduceFn<F, <I as ParallelPipe<Source>>::Item>>

type ReduceA = FolderSyncReducer<<I as ParallelPipe<Source>>::Item, ReduceFn<F, <I as ParallelPipe<Source>>::Item>>

type ReduceC = FolderSyncReducer<<<Combine<I, F> as ParallelSink<Source>>::ReduceA as Reducer>::Output, ReduceFn<F, <I as ParallelPipe<Source>>::Item>>

impl<I, Source, F> ParallelSink<Source> for ForEach<I, F> where
    F: FnMut(<I as ParallelPipe<Source>>::Item) + Clone + Send + 'static,
    I: ParallelPipe<Source>, 
[src]

type Output = ()

type Pipe = I

type ReduceAFactory = ForEachReducerFactory<<I as ParallelPipe<Source>>::Item, F>

type ReduceA = ForEachReducer<<I as ParallelPipe<Source>>::Item, F>

type ReduceC = PushReducer<(), ()>

impl<I, Source, F> ParallelSink<Source> for MaxBy<I, F> where
    F: FnMut(&<I as ParallelPipe<Source>>::Item, &<I as ParallelPipe<Source>>::Item) -> Ordering + Clone + Send + 'static,
    I: ParallelPipe<Source>,
    <I as ParallelPipe<Source>>::Item: Send,
    <I as ParallelPipe<Source>>::Item: 'static, 
[src]

type Output = <<MaxBy<I, F> as ParallelSink<Source>>::ReduceC as Reducer>::Output

type Pipe = I

type ReduceAFactory = FolderSyncReducerFactory<<I as ParallelPipe<Source>>::Item, MaxBy<<I as ParallelPipe<Source>>::Item, F>>

type ReduceA = FolderSyncReducer<<I as ParallelPipe<Source>>::Item, MaxBy<<I as ParallelPipe<Source>>::Item, F>>

type ReduceC = FolderSyncReducer<<<MaxBy<I, F> as ParallelSink<Source>>::ReduceA as Reducer>::Output, MaxBy<<I as ParallelPipe<Source>>::Item, F>>

impl<I, Source, F> ParallelSink<Source> for MinBy<I, F> where
    F: FnMut(&<I as ParallelPipe<Source>>::Item, &<I as ParallelPipe<Source>>::Item) -> Ordering + Clone + Send + 'static,
    I: ParallelPipe<Source>,
    <I as ParallelPipe<Source>>::Item: Send,
    <I as ParallelPipe<Source>>::Item: 'static, 
[src]

type Output = <<MinBy<I, F> as ParallelSink<Source>>::ReduceC as Reducer>::Output

type Pipe = I

type ReduceAFactory = FolderSyncReducerFactory<<I as ParallelPipe<Source>>::Item, MinBy<<I as ParallelPipe<Source>>::Item, F>>

type ReduceA = FolderSyncReducer<<I as ParallelPipe<Source>>::Item, MinBy<<I as ParallelPipe<Source>>::Item, F>>

type ReduceC = FolderSyncReducer<<<MinBy<I, F> as ParallelSink<Source>>::ReduceA as Reducer>::Output, MinBy<<I as ParallelPipe<Source>>::Item, F>>

impl<I, Source, F, B> ParallelSink<Source> for MaxByKey<I, F> where
    B: Ord + 'static,
    F: FnMut(&<I as ParallelPipe<Source>>::Item) -> B + Clone + Send + 'static,
    I: ParallelPipe<Source>,
    <I as ParallelPipe<Source>>::Item: Send,
    <I as ParallelPipe<Source>>::Item: 'static, 
[src]

type Output = <<MaxByKey<I, F> as ParallelSink<Source>>::ReduceC as Reducer>::Output

type Pipe = I

type ReduceAFactory = FolderSyncReducerFactory<<I as ParallelPipe<Source>>::Item, MaxByKey<<I as ParallelPipe<Source>>::Item, F, B>>

type ReduceA = FolderSyncReducer<<I as ParallelPipe<Source>>::Item, MaxByKey<<I as ParallelPipe<Source>>::Item, F, B>>

type ReduceC = FolderSyncReducer<<<MaxByKey<I, F> as ParallelSink<Source>>::ReduceA as Reducer>::Output, MaxByKey<<I as ParallelPipe<Source>>::Item, F, B>>

impl<I, Source, F, B> ParallelSink<Source> for MinByKey<I, F> where
    B: Ord + 'static,
    F: FnMut(&<I as ParallelPipe<Source>>::Item) -> B + Clone + Send + 'static,
    I: ParallelPipe<Source>,
    <I as ParallelPipe<Source>>::Item: Send,
    <I as ParallelPipe<Source>>::Item: 'static, 
[src]

type Output = <<MinByKey<I, F> as ParallelSink<Source>>::ReduceC as Reducer>::Output

type Pipe = I

type ReduceAFactory = FolderSyncReducerFactory<<I as ParallelPipe<Source>>::Item, MinByKey<<I as ParallelPipe<Source>>::Item, F, B>>

type ReduceA = FolderSyncReducer<<I as ParallelPipe<Source>>::Item, MinByKey<<I as ParallelPipe<Source>>::Item, F, B>>

type ReduceC = FolderSyncReducer<<<MinByKey<I, F> as ParallelSink<Source>>::ReduceA as Reducer>::Output, MinByKey<<I as ParallelPipe<Source>>::Item, F, B>>

impl<I, Source, ID, F, B> ParallelSink<Source> for Fold<I, ID, F, B> where
    B: Send + 'static,
    F: FnMut(B, Either<<I as ParallelPipe<Source>>::Item, B>) -> B + Clone + Send + 'static,
    I: ParallelPipe<Source>,
    ID: FnMut() -> B + Clone + Send + 'static, 
[src]

type Output = <<Fold<I, ID, F, B> as ParallelSink<Source>>::ReduceC as Reducer>::Output

type Pipe = I

type ReduceAFactory = FolderSyncReducerFactory<<I as ParallelPipe<Source>>::Item, FoldFolder<<I as ParallelPipe<Source>>::Item, ID, F, B, StepA>>

type ReduceA = FolderSyncReducer<<I as ParallelPipe<Source>>::Item, FoldFolder<<I as ParallelPipe<Source>>::Item, ID, F, B, StepA>>

type ReduceC = FolderSyncReducer<<<Fold<I, ID, F, B> as ParallelSink<Source>>::ReduceA as Reducer>::Output, FoldFolder<<I as ParallelPipe<Source>>::Item, ID, F, B, StepB>>

impl<I, Source, T> ParallelSink<Source> for Collect<I, T> where
    I: ParallelPipe<Source>,
    T: FromParallelStream<<I as ParallelPipe<Source>>::Item>, 
[src]

type Output = T

type Pipe = I

type ReduceAFactory = <T as FromParallelStream<<I as ParallelPipe<Source>>::Item>>::ReduceAFactory

type ReduceA = <T as FromParallelStream<<I as ParallelPipe<Source>>::Item>>::ReduceA

type ReduceC = <T as FromParallelStream<<I as ParallelPipe<Source>>::Item>>::ReduceC

Loading content...