[][src]Trait amadeus::dist_iter::DistributedReducer

pub trait DistributedReducer<I, Source, B> where
    I: DistributedIteratorMulti<Source>,
    <Self::ReduceAFactory as ReduceFactory>::Reducer == Self::ReduceA,
    <Self::ReduceA as Reducer>::Item == <I as DistributedIteratorMulti<Source>>::Item,
    <Self::ReduceB as Reducer>::Item == <Self::ReduceA as Reducer>::Output,
    <Self::ReduceB as Reducer>::Output == B, 
{ type ReduceAFactory: ReduceFactory; type ReduceA: ReducerA + ProcessSend; type ReduceB: Reducer; fn reducers(self) -> (I, Self::ReduceAFactory, Self::ReduceB); }

Associated Types

Loading content...

Required methods

fn reducers(self) -> (I, Self::ReduceAFactory, Self::ReduceB)

Loading content...

Implementations on Foreign Types

impl<I0, I1, Source, R0, R1, O0, O1> DistributedReducer<(I0, I1), Source, (O0, O1)> for (R0, R1) where
    I0: DistributedIteratorMulti<Source>,
    I1: DistributedIteratorMulti<Source>,
    R0: DistributedReducer<I0, Source, O0>,
    R1: DistributedReducer<I1, Source, O1>,
    Source: Copy
[src]

type ReduceAFactory = ReduceA2Factory<<R0 as DistributedReducer<I0, Source, O0>>::ReduceAFactory, <R1 as DistributedReducer<I1, Source, O1>>::ReduceAFactory>

type ReduceA = ReduceA2<<R0 as DistributedReducer<I0, Source, O0>>::ReduceA, <R1 as DistributedReducer<I1, Source, O1>>::ReduceA>

type ReduceB = ReduceB2<<R0 as DistributedReducer<I0, Source, O0>>::ReduceB, <R1 as DistributedReducer<I1, Source, O1>>::ReduceB>

impl<I0, I1, I2, Source, R0, R1, R2, O0, O1, O2> DistributedReducer<(I0, I1, I2), Source, (O0, O1, O2)> for (R0, R1, R2) where
    I0: DistributedIteratorMulti<Source>,
    I1: DistributedIteratorMulti<Source>,
    I2: DistributedIteratorMulti<Source>,
    R0: DistributedReducer<I0, Source, O0>,
    R1: DistributedReducer<I1, Source, O1>,
    R2: DistributedReducer<I2, Source, O2>,
    Source: Copy
[src]

type ReduceAFactory = ReduceA3Factory<<R0 as DistributedReducer<I0, Source, O0>>::ReduceAFactory, <R1 as DistributedReducer<I1, Source, O1>>::ReduceAFactory, <R2 as DistributedReducer<I2, Source, O2>>::ReduceAFactory>

type ReduceA = ReduceA3<<R0 as DistributedReducer<I0, Source, O0>>::ReduceA, <R1 as DistributedReducer<I1, Source, O1>>::ReduceA, <R2 as DistributedReducer<I2, Source, O2>>::ReduceA>

type ReduceB = ReduceB3<<R0 as DistributedReducer<I0, Source, O0>>::ReduceB, <R1 as DistributedReducer<I1, Source, O1>>::ReduceB, <R2 as DistributedReducer<I2, Source, O2>>::ReduceB>

impl<I0, Source, R0, O0> DistributedReducer<(I0,), Source, (O0,)> for (R0,) where
    I0: DistributedIteratorMulti<Source>,
    R0: DistributedReducer<I0, Source, O0>, 
[src]

type ReduceAFactory = ReduceA1Factory<<R0 as DistributedReducer<I0, Source, O0>>::ReduceAFactory>

type ReduceA = ReduceA1<<R0 as DistributedReducer<I0, Source, O0>>::ReduceA>

type ReduceB = ReduceB1<<R0 as DistributedReducer<I0, Source, O0>>::ReduceB>

impl<I0, I1, I2, I3, I4, I5, I6, Source, R0, R1, R2, R3, R4, R5, R6, O0, O1, O2, O3, O4, O5, O6> DistributedReducer<(I0, I1, I2, I3, I4, I5, I6), Source, (O0, O1, O2, O3, O4, O5, O6)> for (R0, R1, R2, R3, R4, R5, R6) where
    I0: DistributedIteratorMulti<Source>,
    I1: DistributedIteratorMulti<Source>,
    I2: DistributedIteratorMulti<Source>,
    I3: DistributedIteratorMulti<Source>,
    I4: DistributedIteratorMulti<Source>,
    I5: DistributedIteratorMulti<Source>,
    I6: DistributedIteratorMulti<Source>,
    R0: DistributedReducer<I0, Source, O0>,
    R1: DistributedReducer<I1, Source, O1>,
    R2: DistributedReducer<I2, Source, O2>,
    R3: DistributedReducer<I3, Source, O3>,
    R4: DistributedReducer<I4, Source, O4>,
    R5: DistributedReducer<I5, Source, O5>,
    R6: DistributedReducer<I6, Source, O6>,
    Source: Copy
[src]

type ReduceAFactory = ReduceA7Factory<<R0 as DistributedReducer<I0, Source, O0>>::ReduceAFactory, <R1 as DistributedReducer<I1, Source, O1>>::ReduceAFactory, <R2 as DistributedReducer<I2, Source, O2>>::ReduceAFactory, <R3 as DistributedReducer<I3, Source, O3>>::ReduceAFactory, <R4 as DistributedReducer<I4, Source, O4>>::ReduceAFactory, <R5 as DistributedReducer<I5, Source, O5>>::ReduceAFactory, <R6 as DistributedReducer<I6, Source, O6>>::ReduceAFactory>

type ReduceA = ReduceA7<<R0 as DistributedReducer<I0, Source, O0>>::ReduceA, <R1 as DistributedReducer<I1, Source, O1>>::ReduceA, <R2 as DistributedReducer<I2, Source, O2>>::ReduceA, <R3 as DistributedReducer<I3, Source, O3>>::ReduceA, <R4 as DistributedReducer<I4, Source, O4>>::ReduceA, <R5 as DistributedReducer<I5, Source, O5>>::ReduceA, <R6 as DistributedReducer<I6, Source, O6>>::ReduceA>

type ReduceB = ReduceB7<<R0 as DistributedReducer<I0, Source, O0>>::ReduceB, <R1 as DistributedReducer<I1, Source, O1>>::ReduceB, <R2 as DistributedReducer<I2, Source, O2>>::ReduceB, <R3 as DistributedReducer<I3, Source, O3>>::ReduceB, <R4 as DistributedReducer<I4, Source, O4>>::ReduceB, <R5 as DistributedReducer<I5, Source, O5>>::ReduceB, <R6 as DistributedReducer<I6, Source, O6>>::ReduceB>

impl<I0, I1, I2, I3, I4, Source, R0, R1, R2, R3, R4, O0, O1, O2, O3, O4> DistributedReducer<(I0, I1, I2, I3, I4), Source, (O0, O1, O2, O3, O4)> for (R0, R1, R2, R3, R4) where
    I0: DistributedIteratorMulti<Source>,
    I1: DistributedIteratorMulti<Source>,
    I2: DistributedIteratorMulti<Source>,
    I3: DistributedIteratorMulti<Source>,
    I4: DistributedIteratorMulti<Source>,
    R0: DistributedReducer<I0, Source, O0>,
    R1: DistributedReducer<I1, Source, O1>,
    R2: DistributedReducer<I2, Source, O2>,
    R3: DistributedReducer<I3, Source, O3>,
    R4: DistributedReducer<I4, Source, O4>,
    Source: Copy
[src]

type ReduceAFactory = ReduceA5Factory<<R0 as DistributedReducer<I0, Source, O0>>::ReduceAFactory, <R1 as DistributedReducer<I1, Source, O1>>::ReduceAFactory, <R2 as DistributedReducer<I2, Source, O2>>::ReduceAFactory, <R3 as DistributedReducer<I3, Source, O3>>::ReduceAFactory, <R4 as DistributedReducer<I4, Source, O4>>::ReduceAFactory>

type ReduceA = ReduceA5<<R0 as DistributedReducer<I0, Source, O0>>::ReduceA, <R1 as DistributedReducer<I1, Source, O1>>::ReduceA, <R2 as DistributedReducer<I2, Source, O2>>::ReduceA, <R3 as DistributedReducer<I3, Source, O3>>::ReduceA, <R4 as DistributedReducer<I4, Source, O4>>::ReduceA>

type ReduceB = ReduceB5<<R0 as DistributedReducer<I0, Source, O0>>::ReduceB, <R1 as DistributedReducer<I1, Source, O1>>::ReduceB, <R2 as DistributedReducer<I2, Source, O2>>::ReduceB, <R3 as DistributedReducer<I3, Source, O3>>::ReduceB, <R4 as DistributedReducer<I4, Source, O4>>::ReduceB>

impl<I0, I1, I2, I3, I4, I5, Source, R0, R1, R2, R3, R4, R5, O0, O1, O2, O3, O4, O5> DistributedReducer<(I0, I1, I2, I3, I4, I5), Source, (O0, O1, O2, O3, O4, O5)> for (R0, R1, R2, R3, R4, R5) where
    I0: DistributedIteratorMulti<Source>,
    I1: DistributedIteratorMulti<Source>,
    I2: DistributedIteratorMulti<Source>,
    I3: DistributedIteratorMulti<Source>,
    I4: DistributedIteratorMulti<Source>,
    I5: DistributedIteratorMulti<Source>,
    R0: DistributedReducer<I0, Source, O0>,
    R1: DistributedReducer<I1, Source, O1>,
    R2: DistributedReducer<I2, Source, O2>,
    R3: DistributedReducer<I3, Source, O3>,
    R4: DistributedReducer<I4, Source, O4>,
    R5: DistributedReducer<I5, Source, O5>,
    Source: Copy
[src]

type ReduceAFactory = ReduceA6Factory<<R0 as DistributedReducer<I0, Source, O0>>::ReduceAFactory, <R1 as DistributedReducer<I1, Source, O1>>::ReduceAFactory, <R2 as DistributedReducer<I2, Source, O2>>::ReduceAFactory, <R3 as DistributedReducer<I3, Source, O3>>::ReduceAFactory, <R4 as DistributedReducer<I4, Source, O4>>::ReduceAFactory, <R5 as DistributedReducer<I5, Source, O5>>::ReduceAFactory>

type ReduceA = ReduceA6<<R0 as DistributedReducer<I0, Source, O0>>::ReduceA, <R1 as DistributedReducer<I1, Source, O1>>::ReduceA, <R2 as DistributedReducer<I2, Source, O2>>::ReduceA, <R3 as DistributedReducer<I3, Source, O3>>::ReduceA, <R4 as DistributedReducer<I4, Source, O4>>::ReduceA, <R5 as DistributedReducer<I5, Source, O5>>::ReduceA>

type ReduceB = ReduceB6<<R0 as DistributedReducer<I0, Source, O0>>::ReduceB, <R1 as DistributedReducer<I1, Source, O1>>::ReduceB, <R2 as DistributedReducer<I2, Source, O2>>::ReduceB, <R3 as DistributedReducer<I3, Source, O3>>::ReduceB, <R4 as DistributedReducer<I4, Source, O4>>::ReduceB, <R5 as DistributedReducer<I5, Source, O5>>::ReduceB>

impl<I0, I1, I2, I3, Source, R0, R1, R2, R3, O0, O1, O2, O3> DistributedReducer<(I0, I1, I2, I3), Source, (O0, O1, O2, O3)> for (R0, R1, R2, R3) where
    I0: DistributedIteratorMulti<Source>,
    I1: DistributedIteratorMulti<Source>,
    I2: DistributedIteratorMulti<Source>,
    I3: DistributedIteratorMulti<Source>,
    R0: DistributedReducer<I0, Source, O0>,
    R1: DistributedReducer<I1, Source, O1>,
    R2: DistributedReducer<I2, Source, O2>,
    R3: DistributedReducer<I3, Source, O3>,
    Source: Copy
[src]

type ReduceAFactory = ReduceA4Factory<<R0 as DistributedReducer<I0, Source, O0>>::ReduceAFactory, <R1 as DistributedReducer<I1, Source, O1>>::ReduceAFactory, <R2 as DistributedReducer<I2, Source, O2>>::ReduceAFactory, <R3 as DistributedReducer<I3, Source, O3>>::ReduceAFactory>

type ReduceA = ReduceA4<<R0 as DistributedReducer<I0, Source, O0>>::ReduceA, <R1 as DistributedReducer<I1, Source, O1>>::ReduceA, <R2 as DistributedReducer<I2, Source, O2>>::ReduceA, <R3 as DistributedReducer<I3, Source, O3>>::ReduceA>

type ReduceB = ReduceB4<<R0 as DistributedReducer<I0, Source, O0>>::ReduceB, <R1 as DistributedReducer<I1, Source, O1>>::ReduceB, <R2 as DistributedReducer<I2, Source, O2>>::ReduceB, <R3 as DistributedReducer<I3, Source, O3>>::ReduceB>

impl<I0, I1, I2, I3, I4, I5, I6, I7, Source, R0, R1, R2, R3, R4, R5, R6, R7, O0, O1, O2, O3, O4, O5, O6, O7> DistributedReducer<(I0, I1, I2, I3, I4, I5, I6, I7), Source, (O0, O1, O2, O3, O4, O5, O6, O7)> for (R0, R1, R2, R3, R4, R5, R6, R7) where
    I0: DistributedIteratorMulti<Source>,
    I1: DistributedIteratorMulti<Source>,
    I2: DistributedIteratorMulti<Source>,
    I3: DistributedIteratorMulti<Source>,
    I4: DistributedIteratorMulti<Source>,
    I5: DistributedIteratorMulti<Source>,
    I6: DistributedIteratorMulti<Source>,
    I7: DistributedIteratorMulti<Source>,
    R0: DistributedReducer<I0, Source, O0>,
    R1: DistributedReducer<I1, Source, O1>,
    R2: DistributedReducer<I2, Source, O2>,
    R3: DistributedReducer<I3, Source, O3>,
    R4: DistributedReducer<I4, Source, O4>,
    R5: DistributedReducer<I5, Source, O5>,
    R6: DistributedReducer<I6, Source, O6>,
    R7: DistributedReducer<I7, Source, O7>,
    Source: Copy
[src]

type ReduceAFactory = ReduceA8Factory<<R0 as DistributedReducer<I0, Source, O0>>::ReduceAFactory, <R1 as DistributedReducer<I1, Source, O1>>::ReduceAFactory, <R2 as DistributedReducer<I2, Source, O2>>::ReduceAFactory, <R3 as DistributedReducer<I3, Source, O3>>::ReduceAFactory, <R4 as DistributedReducer<I4, Source, O4>>::ReduceAFactory, <R5 as DistributedReducer<I5, Source, O5>>::ReduceAFactory, <R6 as DistributedReducer<I6, Source, O6>>::ReduceAFactory, <R7 as DistributedReducer<I7, Source, O7>>::ReduceAFactory>

type ReduceA = ReduceA8<<R0 as DistributedReducer<I0, Source, O0>>::ReduceA, <R1 as DistributedReducer<I1, Source, O1>>::ReduceA, <R2 as DistributedReducer<I2, Source, O2>>::ReduceA, <R3 as DistributedReducer<I3, Source, O3>>::ReduceA, <R4 as DistributedReducer<I4, Source, O4>>::ReduceA, <R5 as DistributedReducer<I5, Source, O5>>::ReduceA, <R6 as DistributedReducer<I6, Source, O6>>::ReduceA, <R7 as DistributedReducer<I7, Source, O7>>::ReduceA>

type ReduceB = ReduceB8<<R0 as DistributedReducer<I0, Source, O0>>::ReduceB, <R1 as DistributedReducer<I1, Source, O1>>::ReduceB, <R2 as DistributedReducer<I2, Source, O2>>::ReduceB, <R3 as DistributedReducer<I3, Source, O3>>::ReduceB, <R4 as DistributedReducer<I4, Source, O4>>::ReduceB, <R5 as DistributedReducer<I5, Source, O5>>::ReduceB, <R6 as DistributedReducer<I6, Source, O6>>::ReduceB, <R7 as DistributedReducer<I7, Source, O7>>::ReduceB>

impl<Source> DistributedReducer<(), Source, ()> for ()[src]

Loading content...

Implementors

impl<I, B, Source> DistributedReducer<I, Source, B> for Sum<I, B> where
    B: Sum<<I as DistributedIteratorMulti<Source>>::Item> + Sum<B> + ProcessSend,
    I: DistributedIteratorMulti<Source>,
    <I as DistributedIteratorMulti<Source>>::Item: 'static, 
[src]

type ReduceAFactory = SumReducerFactory<<I as DistributedIteratorMulti<Source>>::Item, B>

type ReduceA = SumReducer<<I as DistributedIteratorMulti<Source>>::Item, B>

type ReduceB = SumReducer<B, B>

impl<I, Source> DistributedReducer<I, Source, Option<<I as DistributedIteratorMulti<Source>>::Item>> for Max<I> where
    I: DistributedIteratorMulti<Source>,
    <I as DistributedIteratorMulti<Source>>::Item: Ord,
    <I as DistributedIteratorMulti<Source>>::Item: ProcessSend
[src]

type ReduceAFactory = CombineReducerFactory<<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item, Max>

type ReduceA = CombineReducer<<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item, Max>

type ReduceB = CombineReducer<Option<<I as DistributedIteratorMulti<Source>>::Item>, <I as DistributedIteratorMulti<Source>>::Item, Max>

impl<I, Source> DistributedReducer<I, Source, Option<<I as DistributedIteratorMulti<Source>>::Item>> for Min<I> where
    I: DistributedIteratorMulti<Source>,
    <I as DistributedIteratorMulti<Source>>::Item: Ord,
    <I as DistributedIteratorMulti<Source>>::Item: ProcessSend
[src]

type ReduceAFactory = CombineReducerFactory<<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item, Min>

type ReduceA = CombineReducer<<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item, Min>

type ReduceB = CombineReducer<Option<<I as DistributedIteratorMulti<Source>>::Item>, <I as DistributedIteratorMulti<Source>>::Item, Min>

impl<I, Source> DistributedReducer<I, Source, usize> for Count<I> where
    I: DistributedIteratorMulti<Source>,
    <I as DistributedIteratorMulti<Source>>::Item: 'static, 
[src]

impl<I, Source> DistributedReducer<I, Source, SampleUnstable<<I as DistributedIteratorMulti<Source>>::Item>> for SampleUnstable<I> where
    I: DistributedIteratorMulti<Source>,
    <I as DistributedIteratorMulti<Source>>::Item: ProcessSend
[src]

impl<I, Source> DistributedReducer<I, Source, Top<<I as DistributedIteratorMulti<Source>>::Item, usize>> for MostFrequent<I> where
    I: DistributedIteratorMulti<Source>,
    <I as DistributedIteratorMulti<Source>>::Item: Clone,
    <I as DistributedIteratorMulti<Source>>::Item: Hash,
    <I as DistributedIteratorMulti<Source>>::Item: Eq,
    <I as DistributedIteratorMulti<Source>>::Item: ProcessSend
[src]

impl<I, Source, A, B> DistributedReducer<I, Source, Top<A, HyperLogLogMagnitude<B>>> for MostDistinct<I> where
    A: Clone + Hash + Eq + ProcessSend,
    B: Hash + 'static,
    I: DistributedIteratorMulti<Source, Item = (A, B)>, 
[src]

impl<I, Source, F> DistributedReducer<I, Source, Option<<I as DistributedIteratorMulti<Source>>::Item>> for Combine<I, F> where
    F: FnMut(<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item) -> <I as DistributedIteratorMulti<Source>>::Item + Clone + ProcessSend,
    I: DistributedIteratorMulti<Source>,
    <I as DistributedIteratorMulti<Source>>::Item: ProcessSend
[src]

impl<I, Source, F> DistributedReducer<I, Source, Option<<I as DistributedIteratorMulti<Source>>::Item>> for MaxBy<I, F> where
    F: FnMut(&<I as DistributedIteratorMulti<Source>>::Item, &<I as DistributedIteratorMulti<Source>>::Item) -> Ordering + Clone + ProcessSend,
    I: DistributedIteratorMulti<Source>,
    <I as DistributedIteratorMulti<Source>>::Item: ProcessSend
[src]

type ReduceAFactory = CombineReducerFactory<<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item, MaxBy<F>>

type ReduceA = CombineReducer<<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item, MaxBy<F>>

type ReduceB = CombineReducer<Option<<I as DistributedIteratorMulti<Source>>::Item>, <I as DistributedIteratorMulti<Source>>::Item, MaxBy<F>>

impl<I, Source, F> DistributedReducer<I, Source, Option<<I as DistributedIteratorMulti<Source>>::Item>> for MinBy<I, F> where
    F: FnMut(&<I as DistributedIteratorMulti<Source>>::Item, &<I as DistributedIteratorMulti<Source>>::Item) -> Ordering + Clone + ProcessSend,
    I: DistributedIteratorMulti<Source>,
    <I as DistributedIteratorMulti<Source>>::Item: ProcessSend
[src]

type ReduceAFactory = CombineReducerFactory<<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item, MinBy<F>>

type ReduceA = CombineReducer<<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item, MinBy<F>>

type ReduceB = CombineReducer<Option<<I as DistributedIteratorMulti<Source>>::Item>, <I as DistributedIteratorMulti<Source>>::Item, MinBy<F>>

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

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

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

type ReduceB = BoolAndReducer

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

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

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

type ReduceB = BoolOrReducer

impl<I, Source, F> DistributedReducer<I, Source, ()> for ForEach<I, F> where
    F: FnMut(<I as DistributedIteratorMulti<Source>>::Item) + Clone + ProcessSend,
    I: DistributedIteratorMulti<Source>,
    <I as DistributedIteratorMulti<Source>>::Item: 'static, 
[src]

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

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

type ReduceB = PushReducer<(), ()>

impl<I, Source, F, B> DistributedReducer<I, Source, Option<<I as DistributedIteratorMulti<Source>>::Item>> for MaxByKey<I, F> where
    B: Ord + 'static,
    F: FnMut(&<I as DistributedIteratorMulti<Source>>::Item) -> B + Clone + ProcessSend,
    I: DistributedIteratorMulti<Source>,
    <I as DistributedIteratorMulti<Source>>::Item: ProcessSend
[src]

type ReduceAFactory = CombineReducerFactory<<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item, MaxByKey<F, B>>

type ReduceA = CombineReducer<<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item, MaxByKey<F, B>>

type ReduceB = CombineReducer<Option<<I as DistributedIteratorMulti<Source>>::Item>, <I as DistributedIteratorMulti<Source>>::Item, MaxByKey<F, B>>

impl<I, Source, F, B> DistributedReducer<I, Source, Option<<I as DistributedIteratorMulti<Source>>::Item>> for MinByKey<I, F> where
    B: Ord + 'static,
    F: FnMut(&<I as DistributedIteratorMulti<Source>>::Item) -> B + Clone + ProcessSend,
    I: DistributedIteratorMulti<Source>,
    <I as DistributedIteratorMulti<Source>>::Item: ProcessSend
[src]

type ReduceAFactory = CombineReducerFactory<<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item, MinByKey<F, B>>

type ReduceA = CombineReducer<<I as DistributedIteratorMulti<Source>>::Item, <I as DistributedIteratorMulti<Source>>::Item, MinByKey<F, B>>

type ReduceB = CombineReducer<Option<<I as DistributedIteratorMulti<Source>>::Item>, <I as DistributedIteratorMulti<Source>>::Item, MinByKey<F, B>>

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

type ReduceAFactory = FoldReducerFactory<<I as DistributedIteratorMulti<Source>>::Item, ID, F, B>

type ReduceA = FoldReducerA<<I as DistributedIteratorMulti<Source>>::Item, ID, F, B>

type ReduceB = FoldReducerB<<I as DistributedIteratorMulti<Source>>::Item, ID, F, B>

impl<I, Source, T> DistributedReducer<I, Source, T> for Collect<I, T> where
    I: DistributedIteratorMulti<Source>,
    T: FromDistributedIterator<<I as DistributedIteratorMulti<Source>>::Item>, 
[src]

Loading content...