[][src]Trait amadeus_core::par_sink::Reducer

#[must_use]pub trait Reducer<Item> {
    type Done;
    type Async: Sink<Item, Done = Self::Done>;
    fn into_async(self) -> Self::Async;
}

Associated Types

type Done

type Async: Sink<Item, Done = Self::Done>

Loading content...

Required methods

fn into_async(self) -> Self::Async

Loading content...

Implementors

impl Reducer<Sum0> for ReduceA0[src]

type Done = ()

type Async = ReduceA0Async

impl Reducer<bool> for BoolAndReducer[src]

type Done = bool

type Async = BoolAndReducerAsync

impl Reducer<bool> for BoolOrReducer[src]

type Done = bool

type Async = BoolOrReducerAsync

impl Reducer<()> for ReduceC0[src]

type Done = ()

type Async = ReduceC0Async

impl<A: Reducer<S0>, B: Reducer<S1>, C: Reducer<S2>, D: Reducer<S3>, E: Reducer<S4>, F: Reducer<S5>, G: Reducer<S6>, H: Reducer<S7>, S0, S1, S2, S3, S4, S5, S6, S7> Reducer<Sum8<S0, S1, S2, S3, S4, S5, S6, S7>> for ReduceA8<A, B, C, D, E, F, G, H>[src]

type Done = (A::Done, B::Done, C::Done, D::Done, E::Done, F::Done, G::Done, H::Done)

type Async = ReduceA8Async<A::Async, B::Async, C::Async, D::Async, E::Async, F::Async, G::Async, H::Async, S0, S1, S2, S3, S4, S5, S6, S7>

impl<A: Reducer<S0>, B: Reducer<S1>, C: Reducer<S2>, D: Reducer<S3>, E: Reducer<S4>, F: Reducer<S5>, G: Reducer<S6>, H: Reducer<S7>, S0, S1, S2, S3, S4, S5, S6, S7> Reducer<(S0, S1, S2, S3, S4, S5, S6, S7)> for ReduceC8<A, B, C, D, E, F, G, H>[src]

type Done = (A::Done, B::Done, C::Done, D::Done, E::Done, F::Done, G::Done, H::Done)

type Async = ReduceC8Async<A::Async, B::Async, C::Async, D::Async, E::Async, F::Async, G::Async, H::Async, S0, S1, S2, S3, S4, S5, S6, S7>

impl<A: Reducer<S0>, B: Reducer<S1>, C: Reducer<S2>, D: Reducer<S3>, E: Reducer<S4>, F: Reducer<S5>, G: Reducer<S6>, S0, S1, S2, S3, S4, S5, S6> Reducer<Sum7<S0, S1, S2, S3, S4, S5, S6>> for ReduceA7<A, B, C, D, E, F, G>[src]

type Done = (A::Done, B::Done, C::Done, D::Done, E::Done, F::Done, G::Done)

type Async = ReduceA7Async<A::Async, B::Async, C::Async, D::Async, E::Async, F::Async, G::Async, S0, S1, S2, S3, S4, S5, S6>

impl<A: Reducer<S0>, B: Reducer<S1>, C: Reducer<S2>, D: Reducer<S3>, E: Reducer<S4>, F: Reducer<S5>, G: Reducer<S6>, S0, S1, S2, S3, S4, S5, S6> Reducer<(S0, S1, S2, S3, S4, S5, S6)> for ReduceC7<A, B, C, D, E, F, G>[src]

type Done = (A::Done, B::Done, C::Done, D::Done, E::Done, F::Done, G::Done)

type Async = ReduceC7Async<A::Async, B::Async, C::Async, D::Async, E::Async, F::Async, G::Async, S0, S1, S2, S3, S4, S5, S6>

impl<A: Reducer<S0>, B: Reducer<S1>, C: Reducer<S2>, D: Reducer<S3>, E: Reducer<S4>, F: Reducer<S5>, S0, S1, S2, S3, S4, S5> Reducer<Sum6<S0, S1, S2, S3, S4, S5>> for ReduceA6<A, B, C, D, E, F>[src]

type Done = (A::Done, B::Done, C::Done, D::Done, E::Done, F::Done)

type Async = ReduceA6Async<A::Async, B::Async, C::Async, D::Async, E::Async, F::Async, S0, S1, S2, S3, S4, S5>

impl<A: Reducer<S0>, B: Reducer<S1>, C: Reducer<S2>, D: Reducer<S3>, E: Reducer<S4>, F: Reducer<S5>, S0, S1, S2, S3, S4, S5> Reducer<(S0, S1, S2, S3, S4, S5)> for ReduceC6<A, B, C, D, E, F>[src]

type Done = (A::Done, B::Done, C::Done, D::Done, E::Done, F::Done)

type Async = ReduceC6Async<A::Async, B::Async, C::Async, D::Async, E::Async, F::Async, S0, S1, S2, S3, S4, S5>

impl<A: Reducer<S0>, B: Reducer<S1>, C: Reducer<S2>, D: Reducer<S3>, E: Reducer<S4>, S0, S1, S2, S3, S4> Reducer<Sum5<S0, S1, S2, S3, S4>> for ReduceA5<A, B, C, D, E>[src]

type Done = (A::Done, B::Done, C::Done, D::Done, E::Done)

type Async = ReduceA5Async<A::Async, B::Async, C::Async, D::Async, E::Async, S0, S1, S2, S3, S4>

impl<A: Reducer<S0>, B: Reducer<S1>, C: Reducer<S2>, D: Reducer<S3>, E: Reducer<S4>, S0, S1, S2, S3, S4> Reducer<(S0, S1, S2, S3, S4)> for ReduceC5<A, B, C, D, E>[src]

type Done = (A::Done, B::Done, C::Done, D::Done, E::Done)

type Async = ReduceC5Async<A::Async, B::Async, C::Async, D::Async, E::Async, S0, S1, S2, S3, S4>

impl<A: Reducer<S0>, B: Reducer<S1>, C: Reducer<S2>, D: Reducer<S3>, S0, S1, S2, S3> Reducer<Sum4<S0, S1, S2, S3>> for ReduceA4<A, B, C, D>[src]

type Done = (A::Done, B::Done, C::Done, D::Done)

type Async = ReduceA4Async<A::Async, B::Async, C::Async, D::Async, S0, S1, S2, S3>

impl<A: Reducer<S0>, B: Reducer<S1>, C: Reducer<S2>, D: Reducer<S3>, S0, S1, S2, S3> Reducer<(S0, S1, S2, S3)> for ReduceC4<A, B, C, D>[src]

type Done = (A::Done, B::Done, C::Done, D::Done)

type Async = ReduceC4Async<A::Async, B::Async, C::Async, D::Async, S0, S1, S2, S3>

impl<A: Reducer<S0>, B: Reducer<S1>, C: Reducer<S2>, S0, S1, S2> Reducer<Sum3<S0, S1, S2>> for ReduceA3<A, B, C>[src]

type Done = (A::Done, B::Done, C::Done)

type Async = ReduceA3Async<A::Async, B::Async, C::Async, S0, S1, S2>

impl<A: Reducer<S0>, B: Reducer<S1>, C: Reducer<S2>, S0, S1, S2> Reducer<(S0, S1, S2)> for ReduceC3<A, B, C>[src]

type Done = (A::Done, B::Done, C::Done)

type Async = ReduceC3Async<A::Async, B::Async, C::Async, S0, S1, S2>

impl<A: Reducer<S0>, B: Reducer<S1>, S0, S1> Reducer<Sum2<S0, S1>> for ReduceA2<A, B>[src]

type Done = (A::Done, B::Done)

type Async = ReduceA2Async<A::Async, B::Async, S0, S1>

impl<A: Reducer<S0>, B: Reducer<S1>, S0, S1> Reducer<(S0, S1)> for ReduceC2<A, B>[src]

type Done = (A::Done, B::Done)

type Async = ReduceC2Async<A::Async, B::Async, S0, S1>

impl<A: Reducer<S0>, S0> Reducer<Sum1<S0>> for ReduceA1<A>[src]

type Done = (A::Done,)

type Async = ReduceA1Async<A::Async, S0>

impl<A: Reducer<S0>, S0> Reducer<(S0,)> for ReduceC1<A>[src]

type Done = (A::Done,)

type Async = ReduceC1Async<A::Async, S0>

impl<Item, F> Reducer<Item> for AllReducer<Item, F> where
    F: FnMut<(Item,), Output = bool>, 
[src]

type Done = bool

type Async = AllReducerAsync<Item, F>

impl<Item, F> Reducer<Item> for AnyReducer<Item, F> where
    F: FnMut<(Item,), Output = bool>, 
[src]

type Done = bool

type Async = AnyReducerAsync<Item, F>

impl<Item, F> Reducer<Item> for FolderSyncReducer<Item, F> where
    F: FolderSync<Item>, 
[src]

type Done = F::Done

type Async = FolderSyncReducerAsync<Item, F, F::Done>

impl<Item, F> Reducer<Item> for ForEachReducer<Item, F> where
    F: FnMut<(Item,), Output = ()>, 
[src]

type Done = ()

type Async = Self

impl<Item, T: Default + Extend<Item>> Reducer<Item> for PushReducer<Item, T>[src]

type Done = T

type Async = PushReducerAsync<Item, T>

impl<Item: IntoIterator<Item = B>, T: Default + Extend<B>, B> Reducer<Item> for ExtendReducer<Item, T>[src]

type Done = T

type Async = ExtendReducerAsync<Item, T>

impl<P, R, T, U> Reducer<(T, U)> for GroupByReducerA<P, R, T, U> where
    P: PipeTask<U>,
    R: Reducer<P::Output> + Clone,
    T: Eq + Hash
[src]

type Done = IndexMap<T, R::Done>

type Async = GroupByReducerAAsync<P::Async, R, T, U>

impl<R, T, U> Reducer<IndexMap<T, U, RandomState>> for GroupByReducerB<R, T, U> where
    R: Reducer<U> + Clone,
    T: Eq + Hash
[src]

type Done = IndexMap<T, R::Done>

type Async = GroupByReducerBAsync<R, T, U>

impl<R: Reducer<Item>, E, Item> Reducer<Result<Item, E>> for ResultReducer<R, E>[src]

type Done = Result<R::Done, E>

type Async = ResultReducerAsync<R::Async, E>

impl<R: Reducer<Item>, Item> Reducer<Option<Item>> for OptionReducer<R>[src]

type Done = Option<R::Done>

type Async = OptionReducerAsync<R::Async>

impl<R: Reducer<Item>, T, Item> Reducer<Item> for IntoReducer<R, T> where
    R::Done: Into<T>, 
[src]

type Done = T

type Async = IntoReducerAsync<R::Async, T>

Loading content...