PipeTask

Trait PipeTask 

Source
pub trait PipeTask<Input> {
    type Output;
    type Async: Pipe<Input, Output = Self::Output>;

    // Required method
    fn into_async(self) -> Self::Async;
}

Required Associated Types§

Source

type Output

Source

type Async: Pipe<Input, Output = Self::Output>

Required Methods§

Source

fn into_async(self) -> Self::Async

Implementations on Foreign Types§

Source§

impl<A: PipeTask<Input>, B: PipeTask<Input, Output = A::Output>, Input> PipeTask<Input> for Sum2<A, B>

Source§

type Output = <A as PipeTask<Input>>::Output

Source§

type Async = Sum2<<A as PipeTask<Input>>::Async, <B as PipeTask<Input>>::Async>

Source§

fn into_async(self) -> Self::Async

Source§

impl<Input> PipeTask<Input> for ()
where Input:,

Source§

impl<Input, C0: PipeTask<Input>> PipeTask<Input> for (C0,)
where Input:,

Source§

type Output = Sum1<<C0 as PipeTask<Input>>::Output>

Source§

type Async = AsyncTuple1<Input, <C0 as PipeTask<Input>>::Async>

Source§

fn into_async(self) -> Self::Async

Source§

impl<Input, C0: PipeTask<Input>, C1: PipeTask<Input>> PipeTask<Input> for (C0, C1)
where Input: Copy,

Source§

type Output = Sum2<<C0 as PipeTask<Input>>::Output, <C1 as PipeTask<Input>>::Output>

Source§

type Async = AsyncTuple2<Input, <C0 as PipeTask<Input>>::Async, <C1 as PipeTask<Input>>::Async>

Source§

fn into_async(self) -> Self::Async

Source§

impl<Input, C0: PipeTask<Input>, C1: PipeTask<Input>, C2: PipeTask<Input>> PipeTask<Input> for (C0, C1, C2)
where Input: Copy,

Source§

type Output = Sum3<<C0 as PipeTask<Input>>::Output, <C1 as PipeTask<Input>>::Output, <C2 as PipeTask<Input>>::Output>

Source§

type Async = AsyncTuple3<Input, <C0 as PipeTask<Input>>::Async, <C1 as PipeTask<Input>>::Async, <C2 as PipeTask<Input>>::Async>

Source§

fn into_async(self) -> Self::Async

Source§

impl<Input, C0: PipeTask<Input>, C1: PipeTask<Input>, C2: PipeTask<Input>, C3: PipeTask<Input>> PipeTask<Input> for (C0, C1, C2, C3)
where Input: Copy,

Source§

type Output = Sum4<<C0 as PipeTask<Input>>::Output, <C1 as PipeTask<Input>>::Output, <C2 as PipeTask<Input>>::Output, <C3 as PipeTask<Input>>::Output>

Source§

type Async = AsyncTuple4<Input, <C0 as PipeTask<Input>>::Async, <C1 as PipeTask<Input>>::Async, <C2 as PipeTask<Input>>::Async, <C3 as PipeTask<Input>>::Async>

Source§

fn into_async(self) -> Self::Async

Source§

impl<Input, C0: PipeTask<Input>, C1: PipeTask<Input>, C2: PipeTask<Input>, C3: PipeTask<Input>, C4: PipeTask<Input>> PipeTask<Input> for (C0, C1, C2, C3, C4)
where Input: Copy,

Source§

type Output = Sum5<<C0 as PipeTask<Input>>::Output, <C1 as PipeTask<Input>>::Output, <C2 as PipeTask<Input>>::Output, <C3 as PipeTask<Input>>::Output, <C4 as PipeTask<Input>>::Output>

Source§

type Async = AsyncTuple5<Input, <C0 as PipeTask<Input>>::Async, <C1 as PipeTask<Input>>::Async, <C2 as PipeTask<Input>>::Async, <C3 as PipeTask<Input>>::Async, <C4 as PipeTask<Input>>::Async>

Source§

fn into_async(self) -> Self::Async

Source§

impl<Input, C0: PipeTask<Input>, C1: PipeTask<Input>, C2: PipeTask<Input>, C3: PipeTask<Input>, C4: PipeTask<Input>, C5: PipeTask<Input>> PipeTask<Input> for (C0, C1, C2, C3, C4, C5)
where Input: Copy,

Source§

type Output = Sum6<<C0 as PipeTask<Input>>::Output, <C1 as PipeTask<Input>>::Output, <C2 as PipeTask<Input>>::Output, <C3 as PipeTask<Input>>::Output, <C4 as PipeTask<Input>>::Output, <C5 as PipeTask<Input>>::Output>

Source§

type Async = AsyncTuple6<Input, <C0 as PipeTask<Input>>::Async, <C1 as PipeTask<Input>>::Async, <C2 as PipeTask<Input>>::Async, <C3 as PipeTask<Input>>::Async, <C4 as PipeTask<Input>>::Async, <C5 as PipeTask<Input>>::Async>

Source§

fn into_async(self) -> Self::Async

Source§

impl<Input, C0: PipeTask<Input>, C1: PipeTask<Input>, C2: PipeTask<Input>, C3: PipeTask<Input>, C4: PipeTask<Input>, C5: PipeTask<Input>, C6: PipeTask<Input>> PipeTask<Input> for (C0, C1, C2, C3, C4, C5, C6)
where Input: Copy,

Source§

type Output = Sum7<<C0 as PipeTask<Input>>::Output, <C1 as PipeTask<Input>>::Output, <C2 as PipeTask<Input>>::Output, <C3 as PipeTask<Input>>::Output, <C4 as PipeTask<Input>>::Output, <C5 as PipeTask<Input>>::Output, <C6 as PipeTask<Input>>::Output>

Source§

type Async = AsyncTuple7<Input, <C0 as PipeTask<Input>>::Async, <C1 as PipeTask<Input>>::Async, <C2 as PipeTask<Input>>::Async, <C3 as PipeTask<Input>>::Async, <C4 as PipeTask<Input>>::Async, <C5 as PipeTask<Input>>::Async, <C6 as PipeTask<Input>>::Async>

Source§

fn into_async(self) -> Self::Async

Source§

impl<Input, C0: PipeTask<Input>, C1: PipeTask<Input>, C2: PipeTask<Input>, C3: PipeTask<Input>, C4: PipeTask<Input>, C5: PipeTask<Input>, C6: PipeTask<Input>, C7: PipeTask<Input>> PipeTask<Input> for (C0, C1, C2, C3, C4, C5, C6, C7)
where Input: Copy,

Source§

type Output = Sum8<<C0 as PipeTask<Input>>::Output, <C1 as PipeTask<Input>>::Output, <C2 as PipeTask<Input>>::Output, <C3 as PipeTask<Input>>::Output, <C4 as PipeTask<Input>>::Output, <C5 as PipeTask<Input>>::Output, <C6 as PipeTask<Input>>::Output, <C7 as PipeTask<Input>>::Output>

Source§

type Async = AsyncTuple8<Input, <C0 as PipeTask<Input>>::Async, <C1 as PipeTask<Input>>::Async, <C2 as PipeTask<Input>>::Async, <C3 as PipeTask<Input>>::Async, <C4 as PipeTask<Input>>::Async, <C5 as PipeTask<Input>>::Async, <C6 as PipeTask<Input>>::Async, <C7 as PipeTask<Input>>::Async>

Source§

fn into_async(self) -> Self::Async

Implementors§

Source§

impl<'a, C, Input, T> PipeTask<&'a Input> for ClonedTask<C>
where C: PipeTask<&'a Input, Output = &'a T>, T: Clone + 'a,

Source§

impl<A, B, C, Input, RefAItem> PipeTask<Input> for JoinTask<A, B, C, RefAItem>
where A: PipeTask<Input>, B: PipeTask<A::Output>, C: PipeTask<RefAItem>,

Source§

type Output = Sum2<<B as PipeTask<<A as PipeTask<Input>>::Output>>::Output, <C as PipeTask<RefAItem>>::Output>

Source§

type Async = JoinStreamTaskAsync<<A as PipeTask<Input>>::Async, <B as PipeTask<<A as PipeTask<Input>>::Output>>::Async, <C as PipeTask<RefAItem>>::Async, RefAItem, <A as PipeTask<Input>>::Output>

Source§

impl<C: PipeTask<Input>, F, Input> PipeTask<Input> for FilterTask<C, F>
where F: for<'a> FnMut<(&'a C::Output,), Output = bool>,

Source§

type Output = <C as PipeTask<Input>>::Output

Source§

type Async = Filter<<C as PipeTask<Input>>::Async, F>

Source§

impl<C: PipeTask<Input>, F, Input> PipeTask<Input> for InspectTask<C, F>
where F: for<'a> FnMut<(&'a C::Output,), Output = ()> + Clone,

Source§

type Output = <C as PipeTask<Input>>::Output

Source§

type Async = InspectTask<<C as PipeTask<Input>>::Async, F>

Source§

impl<C: PipeTask<Input>, F, Input> PipeTask<Input> for UpdateTask<C, F>
where F: for<'a> FnMut<(&'a mut <C as PipeTask<Input>>::Output,), Output = ()> + Clone,

Source§

type Output = <C as PipeTask<Input>>::Output

Source§

type Async = UpdateTask<<C as PipeTask<Input>>::Async, F>

Source§

impl<C: PipeTask<Input>, F, R, Input> PipeTask<Input> for FilterMapSyncTask<C, F>
where F: FnMut<(C::Output,), Output = Option<R>> + Clone,

Source§

type Output = R

Source§

type Async = FilterMapSync<<C as PipeTask<Input>>::Async, F>

Source§

impl<C: PipeTask<Input>, F, R, Input> PipeTask<Input> for MapSyncTask<C, F>
where F: FnMut<(C::Output,), Output = R> + Clone,

Source§

type Output = R

Source§

type Async = Map<<C as PipeTask<Input>>::Async, F>

Source§

impl<C: PipeTask<Input>, F, R, Input> PipeTask<Input> for MapTask<C, F>
where F: FnMut<(C::Output,), Output = R> + Clone,

Source§

type Output = R

Source§

type Async = Map<<C as PipeTask<Input>>::Async, F>

Source§

impl<C: PipeTask<Input>, F: FnMut<(C::Output,), Output = R> + Clone, R: Iterator, Input> PipeTask<Input> for FlatMapSyncTask<C, F>

Source§

type Output = <R as Iterator>::Item

Source§

type Async = FlatMapSync<<C as PipeTask<Input>>::Async, F, R>

Source§

impl<C: PipeTask<Input>, F: FnMut<(C::Output,), Output = R> + Clone, R: Stream, Input> PipeTask<Input> for FlatMapTask<C, F>

Source§

type Output = <R as Stream>::Item

Source§

type Async = FlatMap<<C as PipeTask<Input>>::Async, F, R>

Source§

impl<Item> PipeTask<Item> for IdentityTask