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 { ... }
}