Trait amadeus_core::pipe::Pipe [−][src]
pub trait Pipe<Input> { type Output; fn poll_next(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
stream: Pin<&mut impl Stream<Item = Input>>
) -> Poll<Option<Self::Output>>; fn pipe<P>(self, pipe: P) -> PipePipe<Self, P>
where
P: Pipe<Self::Output>,
Self: Sized, { ... } fn sink<S>(self, sink: S) -> PipeSink<Self, S>
where
S: Sink<Self::Output>,
Self: Sized, { ... } fn filter<F>(self, f: F) -> Filter<Self, F>
where
F: FnMut(&Self::Output) -> bool,
Self: Sized, { ... } fn flat_map<F, R>(self, f: F) -> FlatMap<Self, F, R>
where
F: FnMut(Self::Output) -> R,
R: Stream,
Self: Sized, { ... } fn flatten(self) -> Flatten<Self, Self::Output>
where
Self::Output: Stream,
Self: Sized, { ... } fn map<F, R>(self, f: F) -> Map<Self, F>
where
F: FnMut(Self::Output) -> R,
Self: Sized, { ... } }
Associated Types
Required methods
Provided methods
fn pipe<P>(self, pipe: P) -> PipePipe<Self, P> where
P: Pipe<Self::Output>,
Self: Sized,
[src]
fn pipe<P>(self, pipe: P) -> PipePipe<Self, P> where
P: Pipe<Self::Output>,
Self: Sized,
[src]fn sink<S>(self, sink: S) -> PipeSink<Self, S> where
S: Sink<Self::Output>,
Self: Sized,
[src]
fn sink<S>(self, sink: S) -> PipeSink<Self, S> where
S: Sink<Self::Output>,
Self: Sized,
[src]Implementations on Foreign Types
Implementors
impl<'a, C, Input: 'a, T: 'a> Pipe<&'a Input> for ClonedTask<C> where
C: Pipe<&'a Input, Output = &'a T>,
T: Clone,
[src]
impl<'a, C, Input: 'a, T: 'a> Pipe<&'a Input> for ClonedTask<C> where
C: Pipe<&'a Input, Output = &'a T>,
T: Clone,
[src]impl<A, B, C, Input, RefAItem> Pipe<Input> for JoinStreamTaskAsync<A, B, C, RefAItem, A::Output> where
A: Pipe<Input>,
B: Pipe<A::Output>,
C: Pipe<RefAItem>,
[src]
impl<A, B, C, Input, RefAItem> Pipe<Input> for JoinStreamTaskAsync<A, B, C, RefAItem, A::Output> where
A: Pipe<Input>,
B: Pipe<A::Output>,
C: Pipe<RefAItem>,
[src]impl<C: Pipe<Input>, F, Input> Pipe<Input> for InspectTask<C, F> where
F: for<'a> FnMut<(&'a C::Output,), Output = ()> + Clone,
[src]
impl<C: Pipe<Input>, F, Input> Pipe<Input> for InspectTask<C, F> where
F: for<'a> FnMut<(&'a C::Output,), Output = ()> + Clone,
[src]impl<C: Pipe<Input>, F, Input> Pipe<Input> for UpdateTask<C, F> where
F: for<'a> FnMut<(&'a mut C::Output,), Output = ()> + Clone,
[src]
impl<C: Pipe<Input>, F, Input> Pipe<Input> for UpdateTask<C, F> where
F: for<'a> FnMut<(&'a mut C::Output,), Output = ()> + Clone,
[src]impl<Input> Pipe<Input> for AsyncTuple0<Input> where
Input: ,
[src]
impl<Input> Pipe<Input> for AsyncTuple0<Input> where
Input: ,
[src]impl<Input, C0: Pipe<Input>> Pipe<Input> for AsyncTuple1<Input, C0> where
Input: ,
[src]
impl<Input, C0: Pipe<Input>> Pipe<Input> for AsyncTuple1<Input, C0> where
Input: ,
[src]impl<Input, C0: Pipe<Input>, C1: Pipe<Input>> Pipe<Input> for AsyncTuple2<Input, C0, C1> where
Input: Copy,
[src]
impl<Input, C0: Pipe<Input>, C1: Pipe<Input>> Pipe<Input> for AsyncTuple2<Input, C0, C1> where
Input: Copy,
[src]impl<Input, C0: Pipe<Input>, C1: Pipe<Input>, C2: Pipe<Input>> Pipe<Input> for AsyncTuple3<Input, C0, C1, C2> where
Input: Copy,
[src]
impl<Input, C0: Pipe<Input>, C1: Pipe<Input>, C2: Pipe<Input>> Pipe<Input> for AsyncTuple3<Input, C0, C1, C2> where
Input: Copy,
[src]impl<Input, C0: Pipe<Input>, C1: Pipe<Input>, C2: Pipe<Input>, C3: Pipe<Input>> Pipe<Input> for AsyncTuple4<Input, C0, C1, C2, C3> where
Input: Copy,
[src]
impl<Input, C0: Pipe<Input>, C1: Pipe<Input>, C2: Pipe<Input>, C3: Pipe<Input>> Pipe<Input> for AsyncTuple4<Input, C0, C1, C2, C3> where
Input: Copy,
[src]impl<Input, C0: Pipe<Input>, C1: Pipe<Input>, C2: Pipe<Input>, C3: Pipe<Input>, C4: Pipe<Input>> Pipe<Input> for AsyncTuple5<Input, C0, C1, C2, C3, C4> where
Input: Copy,
[src]
impl<Input, C0: Pipe<Input>, C1: Pipe<Input>, C2: Pipe<Input>, C3: Pipe<Input>, C4: Pipe<Input>> Pipe<Input> for AsyncTuple5<Input, C0, C1, C2, C3, C4> where
Input: Copy,
[src]impl<Input, C0: Pipe<Input>, C1: Pipe<Input>, C2: Pipe<Input>, C3: Pipe<Input>, C4: Pipe<Input>, C5: Pipe<Input>> Pipe<Input> for AsyncTuple6<Input, C0, C1, C2, C3, C4, C5> where
Input: Copy,
[src]
impl<Input, C0: Pipe<Input>, C1: Pipe<Input>, C2: Pipe<Input>, C3: Pipe<Input>, C4: Pipe<Input>, C5: Pipe<Input>> Pipe<Input> for AsyncTuple6<Input, C0, C1, C2, C3, C4, C5> where
Input: Copy,
[src]impl<Input, C0: Pipe<Input>, C1: Pipe<Input>, C2: Pipe<Input>, C3: Pipe<Input>, C4: Pipe<Input>, C5: Pipe<Input>, C6: Pipe<Input>> Pipe<Input> for AsyncTuple7<Input, C0, C1, C2, C3, C4, C5, C6> where
Input: Copy,
[src]
impl<Input, C0: Pipe<Input>, C1: Pipe<Input>, C2: Pipe<Input>, C3: Pipe<Input>, C4: Pipe<Input>, C5: Pipe<Input>, C6: Pipe<Input>> Pipe<Input> for AsyncTuple7<Input, C0, C1, C2, C3, C4, C5, C6> where
Input: Copy,
[src]impl<Input, C0: Pipe<Input>, C1: Pipe<Input>, C2: Pipe<Input>, C3: Pipe<Input>, C4: Pipe<Input>, C5: Pipe<Input>, C6: Pipe<Input>, C7: Pipe<Input>> Pipe<Input> for AsyncTuple8<Input, C0, C1, C2, C3, C4, C5, C6, C7> where
Input: Copy,
[src]
impl<Input, C0: Pipe<Input>, C1: Pipe<Input>, C2: Pipe<Input>, C3: Pipe<Input>, C4: Pipe<Input>, C5: Pipe<Input>, C6: Pipe<Input>, C7: Pipe<Input>> Pipe<Input> for AsyncTuple8<Input, C0, C1, C2, C3, C4, C5, C6, C7> where
Input: Copy,
[src]impl<Item> Pipe<Item> for IdentityTask
[src]
impl<Item> Pipe<Item> for IdentityTask
[src]impl<P: Pipe<Input>, F, Input> Pipe<Input> for Filter<P, F> where
F: for<'a> FnMut<(&'a P::Output,), Output = bool>,
[src]
impl<P: Pipe<Input>, F, Input> Pipe<Input> for Filter<P, F> where
F: for<'a> FnMut<(&'a P::Output,), Output = bool>,
[src]impl<P: Pipe<Input>, F, R, Input> Pipe<Input> for FlatMap<P, F, R> where
F: FnMut<(P::Output,), Output = R>,
R: Stream,
[src]
impl<P: Pipe<Input>, F, R, Input> Pipe<Input> for FlatMap<P, F, R> where
F: FnMut<(P::Output,), Output = R>,
R: Stream,
[src]impl<P: Pipe<Input>, F, R, Input> Pipe<Input> for FlatMapSync<P, F, R> where
F: FnMut<(P::Output,), Output = R>,
R: Iterator,
[src]
impl<P: Pipe<Input>, F, R, Input> Pipe<Input> for FlatMapSync<P, F, R> where
F: FnMut<(P::Output,), Output = R>,
R: Iterator,
[src]