ParallelPipe

Trait ParallelPipe 

Source
pub trait ParallelPipe<Input> {
    type Output;
    type Task: PipeTask<Input, Output = Self::Output> + Send;

Show 33 methods // Required method fn task(&self) -> Self::Task; // Provided methods fn inspect<F>(self, f: F) -> Inspect<Self, F> where F: FnMut(&Self::Output) + Clone + Send + 'static, Self: Sized { ... } fn update<F>(self, f: F) -> Update<Self, F> where F: FnMut(&mut Self::Output) + Clone + Send + 'static, Self: Sized { ... } fn map<B, F>(self, f: F) -> Map<Self, F> where F: FnMut(Self::Output) -> B + Clone + Send + 'static, Self: Sized { ... } fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F> where F: FnMut(Self::Output) -> B + Clone + Send + 'static, B: Stream, Self: Sized { ... } fn filter<F>(self, f: F) -> Filter<Self, F> where F: FnMut(&Self::Output) -> bool + Clone + Send + 'static, Self: Sized { ... } fn cloned<'a, T>(self) -> Cloned<Self, T, Input> where T: Clone + 'a, Input: 'a, Self: ParallelPipe<&'a Input, Output = &'a T> + Sized { ... } fn left_join<K, V1, V2>( self, right: impl IntoIterator<Item = (K, V2)>, ) -> LeftJoin<Self, K, V1, V2> where K: Eq + Hash + Clone + Send + 'static, V1: 'static, V2: Clone + Send + 'static, Self: ParallelPipe<Input, Output = (K, V1)> + Sized { ... } fn inner_join<K, V1, V2>( self, right: impl IntoIterator<Item = (K, V2)>, ) -> InnerJoin<Self, K, V1, V2> where K: Eq + Hash + Clone + Send + 'static, V1: 'static, V2: Clone + Send + 'static, Self: ParallelPipe<Input, Output = (K, V1)> + Sized { ... } fn pipe<S>(self, sink: S) -> Pipe<Self, S> where S: ParallelSink<Self::Output>, Self: Sized { ... } fn fork<A, B, RefAItem>( self, sink: A, sink_ref: B, ) -> Fork<Self, A, B, &'static Self::Output> where A: ParallelSink<Self::Output>, B: for<'a> ParallelSink<&'a Self::Output>, Self: Sized { ... } fn for_each<F>(self, f: F) -> ForEach<Self, F> where F: FnMut(Self::Output) + Clone + Send + 'static, Self: Sized { ... } fn fold<ID, F, B>(self, identity: ID, op: F) -> Fold<Self, ID, F, B> where ID: FnMut() -> B + Clone + Send + 'static, F: FnMut(B, Either<Self::Output, B>) -> B + Clone + Send + 'static, B: Send + 'static, Self: Sized { ... } fn group_by<S, A, B>(self, sink: S) -> GroupBy<Self, S> where A: Eq + Hash + Send + 'static, S: ParallelSink<B>, <S::Pipe as ParallelPipe<B>>::Task: Clone + Send + 'static, S::ReduceA: 'static, S::ReduceC: Clone, S::Done: Send + 'static, Self: ParallelPipe<Input, Output = (A, B)> + Sized { ... } fn histogram(self) -> Histogram<Self> where Self::Output: Hash + Ord + Send + 'static, Self: Sized { ... } fn sort_n_by<F>(self, n: usize, cmp: F) -> Sort<Self, F> where F: Fn(&Self::Output, &Self::Output) -> Ordering + Clone + Send + 'static, Self::Output: Clone + Send + 'static, Self: Sized { ... } fn count(self) -> Count<Self> where Self: Sized { ... } fn sum<B>(self) -> Sum<Self, B> where B: Sum<Self::Output> + Sum<B> + Send + 'static, Self: Sized { ... } fn mean(self) -> Mean<Self> where Self: ParallelPipe<Input, Output = f64> + Sized { ... } fn stddev(self) -> StdDev<Self> where Self: ParallelPipe<Input, Output = f64> + Sized { ... } fn combine<F>(self, f: F) -> Combine<Self, F> where F: FnMut(Self::Output, Self::Output) -> Self::Output + Clone + Send + 'static, Self::Output: Send + 'static, Self: Sized { ... } fn max(self) -> Max<Self> where Self::Output: Ord + Send + 'static, Self: Sized { ... } fn max_by<F>(self, f: F) -> MaxBy<Self, F> where F: FnMut(&Self::Output, &Self::Output) -> Ordering + Clone + Send + 'static, Self::Output: Send + 'static, Self: Sized { ... } fn max_by_key<F, B>(self, f: F) -> MaxByKey<Self, F> where F: FnMut(&Self::Output) -> B + Clone + Send + 'static, B: Ord + 'static, Self::Output: Send + 'static, Self: Sized { ... } fn min(self) -> Min<Self> where Self::Output: Ord + Send + 'static, Self: Sized { ... } fn min_by<F>(self, f: F) -> MinBy<Self, F> where F: FnMut(&Self::Output, &Self::Output) -> Ordering + Clone + Send + 'static, Self::Output: Send + 'static, Self: Sized { ... } fn min_by_key<F, B>(self, f: F) -> MinByKey<Self, F> where F: FnMut(&Self::Output) -> B + Clone + Send + 'static, B: Ord + 'static, Self::Output: Send + 'static, Self: Sized { ... } fn most_frequent( self, n: usize, probability: f64, tolerance: f64, ) -> MostFrequent<Self> where Self::Output: Hash + Eq + Clone + Send + 'static, Self: Sized { ... } fn most_distinct<A, B>( self, n: usize, probability: f64, tolerance: f64, error_rate: f64, ) -> MostDistinct<Self> where Self: ParallelPipe<Input, Output = (A, B)> + Sized, A: Hash + Eq + Clone + Send + 'static, B: Hash + 'static { ... } fn sample_unstable(self, samples: usize) -> SampleUnstable<Self> where Self::Output: Send + 'static, Self: Sized { ... } fn all<F>(self, f: F) -> All<Self, F> where F: FnMut(Self::Output) -> bool + Clone + Send + 'static, Self: Sized { ... } fn any<F>(self, f: F) -> Any<Self, F> where F: FnMut(Self::Output) -> bool + Clone + Send + 'static, Self: Sized { ... } fn collect<B>(self) -> Collect<Self, B> where B: FromParallelStream<Self::Output>, Self: Sized { ... }
}

Required Associated Types§

Source

type Output

Source

type Task: PipeTask<Input, Output = Self::Output> + Send

Required Methods§

Source

fn task(&self) -> Self::Task

Provided Methods§

Source

fn inspect<F>(self, f: F) -> Inspect<Self, F>
where F: FnMut(&Self::Output) + Clone + Send + 'static, Self: Sized,

Source

fn update<F>(self, f: F) -> Update<Self, F>
where F: FnMut(&mut Self::Output) + Clone + Send + 'static, Self: Sized,

Source

fn map<B, F>(self, f: F) -> Map<Self, F>
where F: FnMut(Self::Output) -> B + Clone + Send + 'static, Self: Sized,

Source

fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F>
where F: FnMut(Self::Output) -> B + Clone + Send + 'static, B: Stream, Self: Sized,

Source

fn filter<F>(self, f: F) -> Filter<Self, F>
where F: FnMut(&Self::Output) -> bool + Clone + Send + 'static, Self: Sized,

Source

fn cloned<'a, T>(self) -> Cloned<Self, T, Input>
where T: Clone + 'a, Input: 'a, Self: ParallelPipe<&'a Input, Output = &'a T> + Sized,

Source

fn left_join<K, V1, V2>( self, right: impl IntoIterator<Item = (K, V2)>, ) -> LeftJoin<Self, K, V1, V2>
where K: Eq + Hash + Clone + Send + 'static, V1: 'static, V2: Clone + Send + 'static, Self: ParallelPipe<Input, Output = (K, V1)> + Sized,

Source

fn inner_join<K, V1, V2>( self, right: impl IntoIterator<Item = (K, V2)>, ) -> InnerJoin<Self, K, V1, V2>
where K: Eq + Hash + Clone + Send + 'static, V1: 'static, V2: Clone + Send + 'static, Self: ParallelPipe<Input, Output = (K, V1)> + Sized,

Source

fn pipe<S>(self, sink: S) -> Pipe<Self, S>
where S: ParallelSink<Self::Output>, Self: Sized,

Source

fn fork<A, B, RefAItem>( self, sink: A, sink_ref: B, ) -> Fork<Self, A, B, &'static Self::Output>
where A: ParallelSink<Self::Output>, B: for<'a> ParallelSink<&'a Self::Output>, Self: Sized,

Source

fn for_each<F>(self, f: F) -> ForEach<Self, F>
where F: FnMut(Self::Output) + Clone + Send + 'static, Self: Sized,

Source

fn fold<ID, F, B>(self, identity: ID, op: F) -> Fold<Self, ID, F, B>
where ID: FnMut() -> B + Clone + Send + 'static, F: FnMut(B, Either<Self::Output, B>) -> B + Clone + Send + 'static, B: Send + 'static, Self: Sized,

Source

fn group_by<S, A, B>(self, sink: S) -> GroupBy<Self, S>
where A: Eq + Hash + Send + 'static, S: ParallelSink<B>, <S::Pipe as ParallelPipe<B>>::Task: Clone + Send + 'static, S::ReduceA: 'static, S::ReduceC: Clone, S::Done: Send + 'static, Self: ParallelPipe<Input, Output = (A, B)> + Sized,

Source

fn histogram(self) -> Histogram<Self>
where Self::Output: Hash + Ord + Send + 'static, Self: Sized,

Source

fn sort_n_by<F>(self, n: usize, cmp: F) -> Sort<Self, F>
where F: Fn(&Self::Output, &Self::Output) -> Ordering + Clone + Send + 'static, Self::Output: Clone + Send + 'static, Self: Sized,

Source

fn count(self) -> Count<Self>
where Self: Sized,

Source

fn sum<B>(self) -> Sum<Self, B>
where B: Sum<Self::Output> + Sum<B> + Send + 'static, Self: Sized,

Source

fn mean(self) -> Mean<Self>
where Self: ParallelPipe<Input, Output = f64> + Sized,

Source

fn stddev(self) -> StdDev<Self>
where Self: ParallelPipe<Input, Output = f64> + Sized,

Source

fn combine<F>(self, f: F) -> Combine<Self, F>
where F: FnMut(Self::Output, Self::Output) -> Self::Output + Clone + Send + 'static, Self::Output: Send + 'static, Self: Sized,

Source

fn max(self) -> Max<Self>
where Self::Output: Ord + Send + 'static, Self: Sized,

Source

fn max_by<F>(self, f: F) -> MaxBy<Self, F>
where F: FnMut(&Self::Output, &Self::Output) -> Ordering + Clone + Send + 'static, Self::Output: Send + 'static, Self: Sized,

Source

fn max_by_key<F, B>(self, f: F) -> MaxByKey<Self, F>
where F: FnMut(&Self::Output) -> B + Clone + Send + 'static, B: Ord + 'static, Self::Output: Send + 'static, Self: Sized,

Source

fn min(self) -> Min<Self>
where Self::Output: Ord + Send + 'static, Self: Sized,

Source

fn min_by<F>(self, f: F) -> MinBy<Self, F>
where F: FnMut(&Self::Output, &Self::Output) -> Ordering + Clone + Send + 'static, Self::Output: Send + 'static, Self: Sized,

Source

fn min_by_key<F, B>(self, f: F) -> MinByKey<Self, F>
where F: FnMut(&Self::Output) -> B + Clone + Send + 'static, B: Ord + 'static, Self::Output: Send + 'static, Self: Sized,

Source

fn most_frequent( self, n: usize, probability: f64, tolerance: f64, ) -> MostFrequent<Self>
where Self::Output: Hash + Eq + Clone + Send + 'static, Self: Sized,

Source

fn most_distinct<A, B>( self, n: usize, probability: f64, tolerance: f64, error_rate: f64, ) -> MostDistinct<Self>
where Self: ParallelPipe<Input, Output = (A, B)> + Sized, A: Hash + Eq + Clone + Send + 'static, B: Hash + 'static,

Source

fn sample_unstable(self, samples: usize) -> SampleUnstable<Self>
where Self::Output: Send + 'static, Self: Sized,

Source

fn all<F>(self, f: F) -> All<Self, F>
where F: FnMut(Self::Output) -> bool + Clone + Send + 'static, Self: Sized,

Source

fn any<F>(self, f: F) -> Any<Self, F>
where F: FnMut(Self::Output) -> bool + Clone + Send + 'static, Self: Sized,

Source

fn collect<B>(self) -> Collect<Self, B>
where B: FromParallelStream<Self::Output>, Self: Sized,

Implementations on Foreign Types§

Source§

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

Source§

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

Source§

type Task = Sum2<<A as ParallelPipe<Input>>::Task, <B as ParallelPipe<Input>>::Task>

Source§

fn task(&self) -> Self::Task

Source§

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

Source§

type Output = Sum0

Source§

type Task = ()

Source§

fn task(&self) -> Self::Task

Source§

impl<Input, I0: ParallelPipe<Input>> ParallelPipe<Input> for (I0,)
where Input:,

Source§

type Output = Sum1<<I0 as ParallelPipe<Input>>::Output>

Source§

type Task = (<I0 as ParallelPipe<Input>>::Task,)

Source§

fn task(&self) -> Self::Task

Source§

impl<Input, I0: ParallelPipe<Input>, I1: ParallelPipe<Input>> ParallelPipe<Input> for (I0, I1)
where Input: Copy,

Source§

type Output = Sum2<<I0 as ParallelPipe<Input>>::Output, <I1 as ParallelPipe<Input>>::Output>

Source§

type Task = (<I0 as ParallelPipe<Input>>::Task, <I1 as ParallelPipe<Input>>::Task)

Source§

fn task(&self) -> Self::Task

Source§

impl<Input, I0: ParallelPipe<Input>, I1: ParallelPipe<Input>, I2: ParallelPipe<Input>> ParallelPipe<Input> for (I0, I1, I2)
where Input: Copy,

Source§

type Output = Sum3<<I0 as ParallelPipe<Input>>::Output, <I1 as ParallelPipe<Input>>::Output, <I2 as ParallelPipe<Input>>::Output>

Source§

type Task = (<I0 as ParallelPipe<Input>>::Task, <I1 as ParallelPipe<Input>>::Task, <I2 as ParallelPipe<Input>>::Task)

Source§

fn task(&self) -> Self::Task

Source§

impl<Input, I0: ParallelPipe<Input>, I1: ParallelPipe<Input>, I2: ParallelPipe<Input>, I3: ParallelPipe<Input>> ParallelPipe<Input> for (I0, I1, I2, I3)
where Input: Copy,

Source§

type Output = Sum4<<I0 as ParallelPipe<Input>>::Output, <I1 as ParallelPipe<Input>>::Output, <I2 as ParallelPipe<Input>>::Output, <I3 as ParallelPipe<Input>>::Output>

Source§

type Task = (<I0 as ParallelPipe<Input>>::Task, <I1 as ParallelPipe<Input>>::Task, <I2 as ParallelPipe<Input>>::Task, <I3 as ParallelPipe<Input>>::Task)

Source§

fn task(&self) -> Self::Task

Source§

impl<Input, I0: ParallelPipe<Input>, I1: ParallelPipe<Input>, I2: ParallelPipe<Input>, I3: ParallelPipe<Input>, I4: ParallelPipe<Input>> ParallelPipe<Input> for (I0, I1, I2, I3, I4)
where Input: Copy,

Source§

type Output = Sum5<<I0 as ParallelPipe<Input>>::Output, <I1 as ParallelPipe<Input>>::Output, <I2 as ParallelPipe<Input>>::Output, <I3 as ParallelPipe<Input>>::Output, <I4 as ParallelPipe<Input>>::Output>

Source§

type Task = (<I0 as ParallelPipe<Input>>::Task, <I1 as ParallelPipe<Input>>::Task, <I2 as ParallelPipe<Input>>::Task, <I3 as ParallelPipe<Input>>::Task, <I4 as ParallelPipe<Input>>::Task)

Source§

fn task(&self) -> Self::Task

Source§

impl<Input, I0: ParallelPipe<Input>, I1: ParallelPipe<Input>, I2: ParallelPipe<Input>, I3: ParallelPipe<Input>, I4: ParallelPipe<Input>, I5: ParallelPipe<Input>> ParallelPipe<Input> for (I0, I1, I2, I3, I4, I5)
where Input: Copy,

Source§

type Output = Sum6<<I0 as ParallelPipe<Input>>::Output, <I1 as ParallelPipe<Input>>::Output, <I2 as ParallelPipe<Input>>::Output, <I3 as ParallelPipe<Input>>::Output, <I4 as ParallelPipe<Input>>::Output, <I5 as ParallelPipe<Input>>::Output>

Source§

type Task = (<I0 as ParallelPipe<Input>>::Task, <I1 as ParallelPipe<Input>>::Task, <I2 as ParallelPipe<Input>>::Task, <I3 as ParallelPipe<Input>>::Task, <I4 as ParallelPipe<Input>>::Task, <I5 as ParallelPipe<Input>>::Task)

Source§

fn task(&self) -> Self::Task

Source§

impl<Input, I0: ParallelPipe<Input>, I1: ParallelPipe<Input>, I2: ParallelPipe<Input>, I3: ParallelPipe<Input>, I4: ParallelPipe<Input>, I5: ParallelPipe<Input>, I6: ParallelPipe<Input>> ParallelPipe<Input> for (I0, I1, I2, I3, I4, I5, I6)
where Input: Copy,

Source§

type Output = Sum7<<I0 as ParallelPipe<Input>>::Output, <I1 as ParallelPipe<Input>>::Output, <I2 as ParallelPipe<Input>>::Output, <I3 as ParallelPipe<Input>>::Output, <I4 as ParallelPipe<Input>>::Output, <I5 as ParallelPipe<Input>>::Output, <I6 as ParallelPipe<Input>>::Output>

Source§

type Task = (<I0 as ParallelPipe<Input>>::Task, <I1 as ParallelPipe<Input>>::Task, <I2 as ParallelPipe<Input>>::Task, <I3 as ParallelPipe<Input>>::Task, <I4 as ParallelPipe<Input>>::Task, <I5 as ParallelPipe<Input>>::Task, <I6 as ParallelPipe<Input>>::Task)

Source§

fn task(&self) -> Self::Task

Source§

impl<Input, I0: ParallelPipe<Input>, I1: ParallelPipe<Input>, I2: ParallelPipe<Input>, I3: ParallelPipe<Input>, I4: ParallelPipe<Input>, I5: ParallelPipe<Input>, I6: ParallelPipe<Input>, I7: ParallelPipe<Input>> ParallelPipe<Input> for (I0, I1, I2, I3, I4, I5, I6, I7)
where Input: Copy,

Source§

type Output = Sum8<<I0 as ParallelPipe<Input>>::Output, <I1 as ParallelPipe<Input>>::Output, <I2 as ParallelPipe<Input>>::Output, <I3 as ParallelPipe<Input>>::Output, <I4 as ParallelPipe<Input>>::Output, <I5 as ParallelPipe<Input>>::Output, <I6 as ParallelPipe<Input>>::Output, <I7 as ParallelPipe<Input>>::Output>

Source§

type Task = (<I0 as ParallelPipe<Input>>::Task, <I1 as ParallelPipe<Input>>::Task, <I2 as ParallelPipe<Input>>::Task, <I3 as ParallelPipe<Input>>::Task, <I4 as ParallelPipe<Input>>::Task, <I5 as ParallelPipe<Input>>::Task, <I6 as ParallelPipe<Input>>::Task, <I7 as ParallelPipe<Input>>::Task)

Source§

fn task(&self) -> Self::Task

Implementors§

Source§

impl<'a, P, Input, T> ParallelPipe<&'a Input> for Cloned<P, T, Input>
where P: ParallelPipe<&'a Input, Output = &'a T>, T: Clone + 'a,

Source§

impl<A, B, C, Input, RefAItem> ParallelPipe<Input> for Fork<A, B, C, RefAItem>
where A: ParallelPipe<Input>, B: ParallelPipe<A::Output>, C: ParallelPipe<RefAItem>, RefAItem: 'static,

Source§

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

Source§

type Task = JoinTask<<A as ParallelPipe<Input>>::Task, <B as ParallelPipe<<A as ParallelPipe<Input>>::Output>>::Task, <C as ParallelPipe<RefAItem>>::Task, RefAItem>

Source§

impl<A: ParallelPipe<Input>, B: ParallelPipe<A::Output>, Input> ParallelPipe<Input> for Pipe<A, B>

Source§

type Output = <B as ParallelPipe<<A as ParallelPipe<Input>>::Output>>::Output

Source§

type Task = JoinTask<<A as ParallelPipe<Input>>::Task, <B as ParallelPipe<<A as ParallelPipe<Input>>::Output>>::Task>

Source§

impl<Item> ParallelPipe<Item> for Identity

Source§

impl<P, K, V1, V2, Input> ParallelPipe<Input> for InnerJoin<P, K, V1, V2>
where P: ParallelPipe<Input, Output = (K, V1)>, K: Eq + Hash + Clone + Send + 'static, V1: 'static, V2: Clone + Send + 'static,

Source§

type Output = (K, ImplIter<V1>, ImplIter<V2>)

Source§

type Task = <FilterMapSync<P, InnerJoinClosure<K, V1, V2>> as ParallelPipe<Input>>::Task

Source§

impl<P, K, V1, V2, Input> ParallelPipe<Input> for LeftJoin<P, K, V1, V2>
where P: ParallelPipe<Input, Output = (K, V1)>, K: Eq + Hash + Clone + Send + 'static, V1: 'static, V2: Clone + Send + 'static,

Source§

type Output = (K, V1, ImplIter<V2>)

Source§

type Task = <MapSync<P, LeftJoinClosure<K, V1, V2>> as ParallelPipe<Input>>::Task

Source§

impl<P: ParallelPipe<Input>, F, Input> ParallelPipe<Input> for Filter<P, F>
where F: for<'a> FnMut<(&'a P::Output,), Output = bool> + Clone + Send + 'static,

Source§

type Output = <P as ParallelPipe<Input>>::Output

Source§

type Task = FilterTask<<P as ParallelPipe<Input>>::Task, F>

Source§

impl<P: ParallelPipe<Input>, F, Input> ParallelPipe<Input> for Inspect<P, F>
where F: for<'a> FnMut<(&'a P::Output,), Output = ()> + Clone + Send + 'static,

Source§

type Output = <P as ParallelPipe<Input>>::Output

Source§

type Task = InspectTask<<P as ParallelPipe<Input>>::Task, F>

Source§

impl<P: ParallelPipe<Input>, F, Input> ParallelPipe<Input> for Update<P, F>
where F: for<'a> FnMut<(&'a mut P::Output,), Output = ()> + Clone + Send + 'static,

Source§

type Output = <P as ParallelPipe<Input>>::Output

Source§

type Task = UpdateTask<<P as ParallelPipe<Input>>::Task, F>

Source§

impl<P: ParallelPipe<Input>, F, R, Input> ParallelPipe<Input> for FilterMapSync<P, F>
where F: FnMut<(P::Output,), Output = Option<R>> + Clone + Send + 'static,

Source§

impl<P: ParallelPipe<Input>, F, R, Input> ParallelPipe<Input> for Map<P, F>
where F: FnMut<(P::Output,), Output = R> + Clone + Send + 'static,

Source§

type Output = R

Source§

type Task = MapTask<<P as ParallelPipe<Input>>::Task, F>

Source§

impl<P: ParallelPipe<Input>, F, R, Input> ParallelPipe<Input> for MapSync<P, F>
where F: FnMut<(P::Output,), Output = R> + Clone + Send + 'static,

Source§

type Output = R

Source§

type Task = MapSyncTask<<P as ParallelPipe<Input>>::Task, F>

Source§

impl<P: ParallelPipe<Input>, F, R: Iterator, Input> ParallelPipe<Input> for FlatMapSync<P, F>
where F: FnMut<(P::Output,), Output = R> + Clone + Send + 'static,

Source§

type Output = <R as Iterator>::Item

Source§

type Task = FlatMapSyncTask<<P as ParallelPipe<Input>>::Task, F>

Source§

impl<P: ParallelPipe<Input>, F, R: Stream, Input> ParallelPipe<Input> for FlatMap<P, F>
where F: FnMut<(P::Output,), Output = R> + Clone + Send + 'static,

Source§

type Output = <R as Stream>::Item

Source§

type Task = FlatMapTask<<P as ParallelPipe<Input>>::Task, F>