[][src]Trait amadeus::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...

Implementations on Foreign Types

impl<P> ReducerAsync for Pin<P> where
    P: DerefMut + Unpin,
    <P as Deref>::Target: ReducerAsync
[src]

type Item = <<P as Deref>::Target as ReducerAsync>::Item

type Output = <<P as Deref>::Target as ReducerAsync>::Output

impl<'_, T> ReducerAsync for &'_ mut T where
    T: ReducerAsync + Unpin + ?Sized
[src]

type Item = <T as ReducerAsync>::Item

type Output = <T as ReducerAsync>::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> ReducerAsync for ReduceA1Async<A> where
    A: ReducerAsync
[src]

type Item = Sum1<<A as ReducerAsync>::Item>

type Output = (<A as ReducerAsync>::Output,)

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

type Item = (<A as ReducerAsync>::Item,)

type Output = (<A as ReducerAsync>::Output,)

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

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

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output)

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

type Item = (<A as ReducerAsync>::Item, <B as ReducerAsync>::Item)

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output)

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

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

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output, <C as ReducerAsync>::Output)

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

type Item = (<A as ReducerAsync>::Item, <B as ReducerAsync>::Item, <C as ReducerAsync>::Item)

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output, <C as ReducerAsync>::Output)

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

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

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output, <C as ReducerAsync>::Output, <D as ReducerAsync>::Output)

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

type Item = (<A as ReducerAsync>::Item, <B as ReducerAsync>::Item, <C as ReducerAsync>::Item, <D as ReducerAsync>::Item)

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output, <C as ReducerAsync>::Output, <D as ReducerAsync>::Output)

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

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

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output, <C as ReducerAsync>::Output, <D as ReducerAsync>::Output, <E as ReducerAsync>::Output)

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

type Item = (<A as ReducerAsync>::Item, <B as ReducerAsync>::Item, <C as ReducerAsync>::Item, <D as ReducerAsync>::Item, <E as ReducerAsync>::Item)

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output, <C as ReducerAsync>::Output, <D as ReducerAsync>::Output, <E as ReducerAsync>::Output)

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

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

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output, <C as ReducerAsync>::Output, <D as ReducerAsync>::Output, <E as ReducerAsync>::Output, <F as ReducerAsync>::Output)

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

type Item = (<A as ReducerAsync>::Item, <B as ReducerAsync>::Item, <C as ReducerAsync>::Item, <D as ReducerAsync>::Item, <E as ReducerAsync>::Item, <F as ReducerAsync>::Item)

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output, <C as ReducerAsync>::Output, <D as ReducerAsync>::Output, <E as ReducerAsync>::Output, <F as ReducerAsync>::Output)

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

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

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output, <C as ReducerAsync>::Output, <D as ReducerAsync>::Output, <E as ReducerAsync>::Output, <F as ReducerAsync>::Output, <G as ReducerAsync>::Output)

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

type Item = (<A as ReducerAsync>::Item, <B as ReducerAsync>::Item, <C as ReducerAsync>::Item, <D as ReducerAsync>::Item, <E as ReducerAsync>::Item, <F as ReducerAsync>::Item, <G as ReducerAsync>::Item)

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output, <C as ReducerAsync>::Output, <D as ReducerAsync>::Output, <E as ReducerAsync>::Output, <F as ReducerAsync>::Output, <G as ReducerAsync>::Output)

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

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

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output, <C as ReducerAsync>::Output, <D as ReducerAsync>::Output, <E as ReducerAsync>::Output, <F as ReducerAsync>::Output, <G as ReducerAsync>::Output, <H as ReducerAsync>::Output)

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

type Item = (<A as ReducerAsync>::Item, <B as ReducerAsync>::Item, <C as ReducerAsync>::Item, <D as ReducerAsync>::Item, <E as ReducerAsync>::Item, <F as ReducerAsync>::Item, <G as ReducerAsync>::Item, <H as ReducerAsync>::Item)

type Output = (<A as ReducerAsync>::Output, <B as ReducerAsync>::Output, <C as ReducerAsync>::Output, <D as ReducerAsync>::Output, <E as ReducerAsync>::Output, <F as ReducerAsync>::Output, <G as ReducerAsync>::Output, <H as ReducerAsync>::Output)

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

type Item = A

type Output = <C as FolderSync<A>>::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> ReducerAsync for PushReducer<A, T> where
    T: Extend<A>, 
[src]

type Item = A

type Output = T

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

type Item = A

type Output = T

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

type Item = Option<<R as ReducerAsync>::Item>

type Output = Option<<R as ReducerAsync>::Output>

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

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

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

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

type Item = <R as ReducerAsync>::Item

type Output = T

Loading content...