[][src]Trait amadeus_core::par_sink::ReducerAsync

#[must_use]pub trait ReducerAsync {
    type Item;
    type Output;
    fn poll_forward(
        self: Pin<&mut Self>,
        cx: &mut Context,
        stream: Pin<&mut impl Stream<Item = Self::Item>>
    ) -> Poll<()>;
fn poll_output(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Self::Output>; }

Associated Types

type Item

type Output

Loading content...

Required methods

fn poll_forward(
    self: Pin<&mut Self>,
    cx: &mut Context,
    stream: Pin<&mut impl Stream<Item = Self::Item>>
) -> Poll<()>

fn poll_output(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Self::Output>

Loading content...

Implementors

impl ReducerAsync for BoolAndReducer[src]

type Item = bool

type Output = bool

impl ReducerAsync for BoolOrReducer[src]

type Item = bool

type Output = bool

impl ReducerAsync for ReduceA0Async[src]

type Item = Sum0

type Output = ()

impl ReducerAsync for ReduceC0Async[src]

type Item = ()

type Output = ()

impl<A, C> ReducerAsync for FolderSyncReducerAsync<A, C, C::Output> where
    C: FolderSync<A>, 
[src]

type Item = A

type Output = C::Output

impl<A, F> ReducerAsync for AllReducer<A, F> where
    F: FnMut(A) -> bool
[src]

type Item = A

type Output = bool

impl<A, F> ReducerAsync for AnyReducer<A, F> where
    F: FnMut(A) -> bool
[src]

type Item = A

type Output = bool

impl<A, F> ReducerAsync for ForEachReducer<A, F> where
    F: FnMut(A) + Clone
[src]

type Item = A

type Output = ()

impl<A, T: Extend<A>> ReducerAsync for PushReducer<A, T>[src]

type Item = A

type Output = T

impl<A: ReducerAsync> ReducerAsync for ReduceA1Async<A>[src]

type Item = Sum1<A::Item>

type Output = (A::Output,)

impl<A: ReducerAsync> ReducerAsync for ReduceC1Async<A>[src]

type Item = (A::Item,)

type Output = (A::Output,)

impl<A: ReducerAsync, B: ReducerAsync> ReducerAsync for ReduceA2Async<A, B>[src]

type Item = Sum2<A::Item, B::Item>

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

impl<A: ReducerAsync, B: ReducerAsync> ReducerAsync for ReduceC2Async<A, B>[src]

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

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

impl<A: ReducerAsync, B: ReducerAsync, C: ReducerAsync> ReducerAsync for ReduceA3Async<A, B, C>[src]

type Item = Sum3<A::Item, B::Item, C::Item>

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

impl<A: ReducerAsync, B: ReducerAsync, C: ReducerAsync> ReducerAsync for ReduceC3Async<A, B, C>[src]

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

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

impl<A: ReducerAsync, B: ReducerAsync, C: ReducerAsync, D: ReducerAsync> ReducerAsync for ReduceA4Async<A, B, C, D>[src]

type Item = Sum4<A::Item, B::Item, C::Item, D::Item>

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

impl<A: ReducerAsync, B: ReducerAsync, C: ReducerAsync, D: ReducerAsync> ReducerAsync for ReduceC4Async<A, B, C, D>[src]

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

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

impl<A: ReducerAsync, B: ReducerAsync, C: ReducerAsync, D: ReducerAsync, E: ReducerAsync> ReducerAsync for ReduceA5Async<A, B, C, D, E>[src]

type Item = Sum5<A::Item, B::Item, C::Item, D::Item, E::Item>

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

impl<A: ReducerAsync, B: ReducerAsync, C: ReducerAsync, D: ReducerAsync, E: ReducerAsync> ReducerAsync for ReduceC5Async<A, B, C, D, E>[src]

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

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

impl<A: ReducerAsync, B: ReducerAsync, C: ReducerAsync, D: ReducerAsync, E: ReducerAsync, F: ReducerAsync> ReducerAsync for ReduceA6Async<A, B, C, D, E, F>[src]

type Item = Sum6<A::Item, B::Item, C::Item, D::Item, E::Item, F::Item>

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

impl<A: ReducerAsync, B: ReducerAsync, C: ReducerAsync, D: ReducerAsync, E: ReducerAsync, F: ReducerAsync> ReducerAsync for ReduceC6Async<A, B, C, D, E, F>[src]

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

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

impl<A: ReducerAsync, B: ReducerAsync, C: ReducerAsync, D: ReducerAsync, E: ReducerAsync, F: ReducerAsync, G: ReducerAsync> ReducerAsync for ReduceA7Async<A, B, C, D, E, F, G>[src]

type Item = Sum7<A::Item, B::Item, C::Item, D::Item, E::Item, F::Item, G::Item>

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

impl<A: ReducerAsync, B: ReducerAsync, C: ReducerAsync, D: ReducerAsync, E: ReducerAsync, F: ReducerAsync, G: ReducerAsync> ReducerAsync for ReduceC7Async<A, B, C, D, E, F, G>[src]

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

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

impl<A: ReducerAsync, B: ReducerAsync, C: ReducerAsync, D: ReducerAsync, E: ReducerAsync, F: ReducerAsync, G: ReducerAsync, H: ReducerAsync> ReducerAsync for ReduceA8Async<A, B, C, D, E, F, G, H>[src]

type Item = Sum8<A::Item, B::Item, C::Item, D::Item, E::Item, F::Item, G::Item, H::Item>

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

impl<A: ReducerAsync, B: ReducerAsync, C: ReducerAsync, D: ReducerAsync, E: ReducerAsync, F: ReducerAsync, G: ReducerAsync, H: ReducerAsync> ReducerAsync for ReduceC8Async<A, B, C, D, E, F, G, H>[src]

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

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

impl<A: IntoIterator<Item = B>, T: Extend<B>, B> ReducerAsync for ExtendReducer<A, T>[src]

type Item = A

type Output = T

impl<R: ReducerAsync> ReducerAsync for OptionReducer<R>[src]

type Item = Option<R::Item>

type Output = Option<R::Output>

impl<R: ReducerAsync, E> ReducerAsync for ResultReducerAsync<R, E>[src]

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

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

impl<R: ReducerAsync, T> ReducerAsync for IntoReducer<R, T> where
    R::Output: Into<T>, 
[src]

type Item = R::Item

type Output = T

Loading content...