[−][src]Struct amadeus_core::par_sink::Pipe
Implementations
impl<A, B> Pipe<A, B>
[src]
Trait Implementations
impl<A: ParallelPipe<Source>, B: ParallelPipe<A::Item>, Source> DistributedPipe<Source> for Pipe<A, B>
[src]
type Item = B::Item
type Task = JoinTask<A::Task, B::Task>
fn task(&self) -> Self::Task
[src]
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
fn update<F>(self, f: F) -> Update<Self, F> where
F: FnMut(&mut Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(&mut Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
fn map<B, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> B + Clone + ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(Self::Item) -> B + Clone + ProcessSend + 'static,
Self: Sized,
fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F> where
F: FnMut(Self::Item) -> B + Clone + ProcessSend + 'static,
B: Stream,
Self: Sized,
[src]
F: FnMut(Self::Item) -> B + Clone + ProcessSend + 'static,
B: Stream,
Self: Sized,
fn filter<F>(self, f: F) -> Filter<Self, F> where
F: FnMut(&Self::Item) -> bool + Clone + ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item) -> bool + Clone + ProcessSend + 'static,
Self: Sized,
fn cloned<'a, T>(self) -> Cloned<Self, T, Source> where
T: Clone + 'a,
Source: 'a,
Self: DistributedPipe<&'a Source, Item = &'a T> + Sized,
[src]
T: Clone + 'a,
Source: 'a,
Self: DistributedPipe<&'a Source, Item = &'a T> + Sized,
fn pipe<S>(self, sink: S) -> Pipe<Self, S> where
S: DistributedSink<Self::Item>,
Self: Sized,
[src]
S: DistributedSink<Self::Item>,
Self: Sized,
fn fork<A, B, RefAItem>(
self,
sink: A,
sink_ref: B
) -> Fork<Self, A, B, &'static Self::Item> where
A: DistributedSink<Self::Item>,
B: for<'a> DistributedSink<&'a Self::Item>,
Self: Sized,
[src]
self,
sink: A,
sink_ref: B
) -> Fork<Self, A, B, &'static Self::Item> where
A: DistributedSink<Self::Item>,
B: for<'a> DistributedSink<&'a Self::Item>,
Self: Sized,
fn for_each<F>(self, f: F) -> ForEach<Self, F> where
F: FnMut(Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
fn fold<ID, F, B>(self, identity: ID, op: F) -> Fold<Self, ID, F, B> where
ID: FnMut() -> B + Clone + ProcessSend + 'static,
F: FnMut(B, Either<Self::Item, B>) -> B + Clone + ProcessSend + 'static,
B: ProcessSend + 'static,
Self: Sized,
[src]
ID: FnMut() -> B + Clone + ProcessSend + 'static,
F: FnMut(B, Either<Self::Item, B>) -> B + Clone + ProcessSend + 'static,
B: ProcessSend + 'static,
Self: Sized,
fn group_by<S, A, B>(self, sink: S) -> GroupBy<Self, S> where
A: Eq + Hash + ProcessSend + 'static,
S: DistributedSink<B>,
<S::Pipe as DistributedPipe<B>>::Task: Clone + ProcessSend + 'static,
S::ReduceA: 'static,
S::ReduceC: Clone,
S::Output: ProcessSend + 'static,
Self: DistributedPipe<Source, Item = (A, B)> + Sized,
[src]
A: Eq + Hash + ProcessSend + 'static,
S: DistributedSink<B>,
<S::Pipe as DistributedPipe<B>>::Task: Clone + ProcessSend + 'static,
S::ReduceA: 'static,
S::ReduceC: Clone,
S::Output: ProcessSend + 'static,
Self: DistributedPipe<Source, Item = (A, B)> + Sized,
fn histogram(self) -> Histogram<Self> where
Self::Item: Hash + Ord + ProcessSend + 'static,
Self: Sized,
[src]
Self::Item: Hash + Ord + ProcessSend + 'static,
Self: Sized,
fn count(self) -> Count<Self> where
Self: Sized,
[src]
Self: Sized,
fn sum<B>(self) -> Sum<Self, B> where
B: Sum<Self::Item> + Sum<B> + ProcessSend + 'static,
Self: Sized,
[src]
B: Sum<Self::Item> + Sum<B> + ProcessSend + 'static,
Self: Sized,
fn combine<F>(self, f: F) -> Combine<Self, F> where
F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self: Sized,
fn max(self) -> Max<Self> where
Self::Item: Ord + ProcessSend + 'static,
Self: Sized,
[src]
Self::Item: Ord + ProcessSend + 'static,
Self: Sized,
fn max_by<F>(self, f: F) -> MaxBy<Self, F> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self: Sized,
fn max_by_key<F, B>(self, f: F) -> MaxByKey<Self, F> where
F: FnMut(&Self::Item) -> B + Clone + ProcessSend + 'static,
B: Ord + 'static,
Self::Item: ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item) -> B + Clone + ProcessSend + 'static,
B: Ord + 'static,
Self::Item: ProcessSend + 'static,
Self: Sized,
fn min(self) -> Min<Self> where
Self::Item: Ord + ProcessSend + 'static,
Self: Sized,
[src]
Self::Item: Ord + ProcessSend + 'static,
Self: Sized,
fn min_by<F>(self, f: F) -> MinBy<Self, F> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self: Sized,
fn min_by_key<F, B>(self, f: F) -> MinByKey<Self, F> where
F: FnMut(&Self::Item) -> B + Clone + ProcessSend + 'static,
B: Ord + 'static,
Self::Item: ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item) -> B + Clone + ProcessSend + 'static,
B: Ord + 'static,
Self::Item: ProcessSend + 'static,
Self: Sized,
fn most_frequent(
self,
n: usize,
probability: f64,
tolerance: f64
) -> MostFrequent<Self> where
Self::Item: Hash + Eq + Clone + ProcessSend + 'static,
Self: Sized,
[src]
self,
n: usize,
probability: f64,
tolerance: f64
) -> MostFrequent<Self> where
Self::Item: Hash + Eq + Clone + ProcessSend + 'static,
Self: Sized,
fn most_distinct<A, B>(
self,
n: usize,
probability: f64,
tolerance: f64,
error_rate: f64
) -> MostDistinct<Self> where
Self: DistributedPipe<Source, Item = (A, B)> + Sized,
A: Hash + Eq + Clone + ProcessSend + 'static,
B: Hash + 'static,
[src]
self,
n: usize,
probability: f64,
tolerance: f64,
error_rate: f64
) -> MostDistinct<Self> where
Self: DistributedPipe<Source, Item = (A, B)> + Sized,
A: Hash + Eq + Clone + ProcessSend + 'static,
B: Hash + 'static,
fn sample_unstable(self, samples: usize) -> SampleUnstable<Self> where
Self::Item: ProcessSend + 'static,
Self: Sized,
[src]
Self::Item: ProcessSend + 'static,
Self: Sized,
fn all<F>(self, f: F) -> All<Self, F> where
F: FnMut(Self::Item) -> bool + Clone + ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(Self::Item) -> bool + Clone + ProcessSend + 'static,
Self: Sized,
fn any<F>(self, f: F) -> Any<Self, F> where
F: FnMut(Self::Item) -> bool + Clone + ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(Self::Item) -> bool + Clone + ProcessSend + 'static,
Self: Sized,
fn collect<B>(self) -> Collect<Self, B> where
B: FromDistributedStream<Self::Item>,
Self: Sized,
[src]
B: FromDistributedStream<Self::Item>,
Self: Sized,
impl<A: DistributedPipe<Source>, B: DistributedSink<A::Item>, Source> DistributedSink<Source> for Pipe<A, B>
[src]
type Output = B::Output
type Pipe = Pipe<A, B::Pipe>
type ReduceA = B::ReduceA
type ReduceB = B::ReduceB
type ReduceC = B::ReduceC
fn reducers(self) -> (Self::Pipe, Self::ReduceA, Self::ReduceB, Self::ReduceC)
[src]
impl<A: ParallelStream, B: ParallelPipe<A::Item>> DistributedStream for Pipe<A, B>
[src]
type Item = B::Item
type Task = JoinTask<A::Task, B::Task>
fn next_task(&mut self) -> Option<Self::Task>
[src]
fn size_hint(&self) -> (usize, Option<usize>)
[src]
#[must_use]fn reduce<'life0, 'async_trait, P, B, R1, R2, R3>(
self,
pool: &'life0 P,
reduce_a_factory: R1,
reduce_b_factory: R2,
reduce_c: R3
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ProcessPool,
R1: ReducerSend<Self::Item> + Clone + ProcessSend + 'static,
R2: ReducerProcessSend<<R1 as ReducerSend<Self::Item>>::Output> + Clone + ProcessSend + 'static,
R3: Reducer<<R2 as ReducerProcessSend<<R1 as ReducerSend<Self::Item>>::Output>>::Output, Output = B>,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
B: 'async_trait,
R1: 'async_trait,
R2: 'async_trait,
R3: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
reduce_a_factory: R1,
reduce_b_factory: R2,
reduce_c: R3
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ProcessPool,
R1: ReducerSend<Self::Item> + Clone + ProcessSend + 'static,
R2: ReducerProcessSend<<R1 as ReducerSend<Self::Item>>::Output> + Clone + ProcessSend + 'static,
R3: Reducer<<R2 as ReducerProcessSend<<R1 as ReducerSend<Self::Item>>::Output>>::Output, Output = B>,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
B: 'async_trait,
R1: 'async_trait,
R2: 'async_trait,
R3: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn pipe<'life0, 'async_trait, P, DistSink, A>(
self,
pool: &'life0 P,
sink: DistSink
) -> Pin<Box<dyn Future<Output = A> + 'async_trait>> where
P: ProcessPool,
DistSink: DistributedSink<Self::Item, Output = A>,
<DistSink::Pipe as DistributedPipe<Self::Item>>::Task: 'static,
DistSink::ReduceA: 'static,
DistSink::ReduceB: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
DistSink: 'async_trait,
A: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
sink: DistSink
) -> Pin<Box<dyn Future<Output = A> + 'async_trait>> where
P: ProcessPool,
DistSink: DistributedSink<Self::Item, Output = A>,
<DistSink::Pipe as DistributedPipe<Self::Item>>::Task: 'static,
DistSink::ReduceA: 'static,
DistSink::ReduceB: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
DistSink: 'async_trait,
A: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn fork<'life0, 'async_trait, P, DistSinkA, DistSinkB, A, B>(
self,
pool: &'life0 P,
sink_a: DistSinkA,
sink_b: DistSinkB
) -> Pin<Box<dyn Future<Output = (A, B)> + 'async_trait>> where
P: ProcessPool,
DistSinkA: DistributedSink<Self::Item, Output = A>,
DistSinkB: for<'a> DistributedSink<&'a Self::Item, Output = B> + 'static,
<DistSinkA::Pipe as DistributedPipe<Self::Item>>::Task: 'static,
DistSinkA::ReduceA: 'static,
DistSinkA::ReduceB: 'static,
<DistSinkB as DistributedSink<&'static Self::Item>>::ReduceA: 'static,
<DistSinkB as DistributedSink<&'static Self::Item>>::ReduceB: 'static,
<<DistSinkB as DistributedSink<&'static Self::Item>>::Pipe as DistributedPipe<&'static Self::Item>>::Task: 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
DistSinkA: 'async_trait,
DistSinkB: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
sink_a: DistSinkA,
sink_b: DistSinkB
) -> Pin<Box<dyn Future<Output = (A, B)> + 'async_trait>> where
P: ProcessPool,
DistSinkA: DistributedSink<Self::Item, Output = A>,
DistSinkB: for<'a> DistributedSink<&'a Self::Item, Output = B> + 'static,
<DistSinkA::Pipe as DistributedPipe<Self::Item>>::Task: 'static,
DistSinkA::ReduceA: 'static,
DistSinkA::ReduceB: 'static,
<DistSinkB as DistributedSink<&'static Self::Item>>::ReduceA: 'static,
<DistSinkB as DistributedSink<&'static Self::Item>>::ReduceB: 'static,
<<DistSinkB as DistributedSink<&'static Self::Item>>::Pipe as DistributedPipe<&'static Self::Item>>::Task: 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
DistSinkA: 'async_trait,
DistSinkB: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn group_by<'life0, 'async_trait, P, S, A, B>(
self,
pool: &'life0 P,
sink: S
) -> Pin<Box<dyn Future<Output = HashMap<A, S::Output>> + 'async_trait>> where
P: ProcessPool,
A: Eq + Hash + ProcessSend + 'static,
B: 'static,
S: DistributedSink<B>,
<S::Pipe as DistributedPipe<B>>::Task: Clone + ProcessSend + 'static,
S::ReduceA: 'static,
S::ReduceB: 'static,
S::ReduceC: Clone,
S::Output: ProcessSend + 'static,
Self::Task: 'static,
Self: DistributedStream<Item = (A, B)> + Sized,
P: 'async_trait,
S: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
sink: S
) -> Pin<Box<dyn Future<Output = HashMap<A, S::Output>> + 'async_trait>> where
P: ProcessPool,
A: Eq + Hash + ProcessSend + 'static,
B: 'static,
S: DistributedSink<B>,
<S::Pipe as DistributedPipe<B>>::Task: Clone + ProcessSend + 'static,
S::ReduceA: 'static,
S::ReduceB: 'static,
S::ReduceC: Clone,
S::Output: ProcessSend + 'static,
Self::Task: 'static,
Self: DistributedStream<Item = (A, B)> + Sized,
P: 'async_trait,
S: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn collect<'life0, 'async_trait, P, B>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ProcessPool,
B: FromDistributedStream<Self::Item>,
B::ReduceA: ProcessSend + 'static,
B::ReduceB: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ProcessPool,
B: FromDistributedStream<Self::Item>,
B::ReduceA: ProcessSend + 'static,
B::ReduceB: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
fn update<F>(self, f: F) -> Update<Self, F> where
F: FnMut(&mut Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(&mut Self::Item) + Clone + ProcessSend + 'static,
Self: Sized,
fn map<B, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> B + Clone + ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(Self::Item) -> B + Clone + ProcessSend + 'static,
Self: Sized,
fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F> where
F: FnMut(Self::Item) -> B + Clone + ProcessSend + 'static,
B: Stream,
Self: Sized,
[src]
F: FnMut(Self::Item) -> B + Clone + ProcessSend + 'static,
B: Stream,
Self: Sized,
fn filter<F>(self, f: F) -> Filter<Self, F> where
F: FnMut(&Self::Item) -> bool + Clone + ProcessSend + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item) -> bool + Clone + ProcessSend + 'static,
Self: Sized,
fn chain<C>(self, chain: C) -> Chain<Self, C::DistStream> where
C: IntoDistributedStream<Item = Self::Item>,
Self: Sized,
[src]
C: IntoDistributedStream<Item = Self::Item>,
Self: Sized,
#[must_use]fn for_each<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item) + Clone + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item) + Clone + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn fold<'life0, 'async_trait, P, ID, F, B>(
self,
pool: &'life0 P,
identity: ID,
op: F
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ProcessPool,
ID: FnMut() -> B + Clone + ProcessSend + 'static,
F: FnMut(B, Either<Self::Item, B>) -> B + Clone + ProcessSend + 'static,
B: ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
ID: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
identity: ID,
op: F
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ProcessPool,
ID: FnMut() -> B + Clone + ProcessSend + 'static,
F: FnMut(B, Either<Self::Item, B>) -> B + Clone + ProcessSend + 'static,
B: ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
ID: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn histogram<'life0, 'async_trait, P>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Vec<(Self::Item, usize)>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Hash + Ord + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Vec<(Self::Item, usize)>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Hash + Ord + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn count<'life0, 'async_trait, P>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = usize> + 'async_trait>> where
P: ProcessPool,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = usize> + 'async_trait>> where
P: ProcessPool,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn sum<'life0, 'async_trait, P, S>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = S> + 'async_trait>> where
P: ProcessPool,
S: Sum<Self::Item> + Sum<S> + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
S: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = S> + 'async_trait>> where
P: ProcessPool,
S: Sum<Self::Item> + Sum<S> + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
S: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn combine<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn max<'life0, 'async_trait, P>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Ord + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Ord + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn max_by<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn max_by_key<'life0, 'async_trait, P, F, B>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(&Self::Item) -> B + Clone + ProcessSend + 'static,
B: Ord + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(&Self::Item) -> B + Clone + ProcessSend + 'static,
B: Ord + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn min<'life0, 'async_trait, P>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Ord + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Ord + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn min_by<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn min_by_key<'life0, 'async_trait, P, F, B>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(&Self::Item) -> B + Clone + ProcessSend + 'static,
B: Ord + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ProcessPool,
F: FnMut(&Self::Item) -> B + Clone + ProcessSend + 'static,
B: Ord + 'static,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn most_frequent<'life0, 'async_trait, P>(
self,
pool: &'life0 P,
n: usize,
probability: f64,
tolerance: f64
) -> Pin<Box<dyn Future<Output = Top<Self::Item, usize>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Hash + Eq + Clone + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
n: usize,
probability: f64,
tolerance: f64
) -> Pin<Box<dyn Future<Output = Top<Self::Item, usize>> + 'async_trait>> where
P: ProcessPool,
Self::Item: Hash + Eq + Clone + ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn most_distinct<'life0, 'async_trait, P, A, B>(
self,
pool: &'life0 P,
n: usize,
probability: f64,
tolerance: f64,
error_rate: f64
) -> Pin<Box<dyn Future<Output = Top<A, HyperLogLogMagnitude<B>>> + 'async_trait>> where
P: ProcessPool,
Self: DistributedStream<Item = (A, B)> + Sized,
A: Hash + Eq + Clone + ProcessSend + 'static,
B: Hash + 'static,
Self::Task: 'static,
P: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
n: usize,
probability: f64,
tolerance: f64,
error_rate: f64
) -> Pin<Box<dyn Future<Output = Top<A, HyperLogLogMagnitude<B>>> + 'async_trait>> where
P: ProcessPool,
Self: DistributedStream<Item = (A, B)> + Sized,
A: Hash + Eq + Clone + ProcessSend + 'static,
B: Hash + 'static,
Self::Task: 'static,
P: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn sample_unstable<'life0, 'async_trait, P>(
self,
pool: &'life0 P,
samples: usize
) -> Pin<Box<dyn Future<Output = SampleUnstable<Self::Item>> + 'async_trait>> where
P: ProcessPool,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
samples: usize
) -> Pin<Box<dyn Future<Output = SampleUnstable<Self::Item>> + 'async_trait>> where
P: ProcessPool,
Self::Item: ProcessSend + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn all<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item) -> bool + Clone + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item) -> bool + Clone + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn any<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item) -> bool + Clone + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
P: ProcessPool,
F: FnMut(Self::Item) -> bool + Clone + ProcessSend + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
impl<A: ParallelPipe<Source>, B: ParallelPipe<A::Item>, Source> ParallelPipe<Source> for Pipe<A, B>
[src]
type Item = B::Item
type Task = JoinTask<A::Task, B::Task>
fn task(&self) -> Self::Task
[src]
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item) + Clone + Send + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item) + Clone + Send + 'static,
Self: Sized,
fn update<F>(self, f: F) -> Update<Self, F> where
F: FnMut(&mut Self::Item) + Clone + Send + 'static,
Self: Sized,
[src]
F: FnMut(&mut Self::Item) + Clone + Send + 'static,
Self: Sized,
fn map<B, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> B + Clone + Send + 'static,
Self: Sized,
[src]
F: FnMut(Self::Item) -> B + Clone + Send + 'static,
Self: Sized,
fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F> where
F: FnMut(Self::Item) -> B + Clone + Send + 'static,
B: Stream,
Self: Sized,
[src]
F: FnMut(Self::Item) -> B + Clone + Send + 'static,
B: Stream,
Self: Sized,
fn filter<F>(self, f: F) -> Filter<Self, F> where
F: FnMut(&Self::Item) -> bool + Clone + Send + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item) -> bool + Clone + Send + 'static,
Self: Sized,
fn cloned<'a, T>(self) -> Cloned<Self, T, Source> where
T: Clone + 'a,
Source: 'a,
Self: ParallelPipe<&'a Source, Item = &'a T> + Sized,
[src]
T: Clone + 'a,
Source: 'a,
Self: ParallelPipe<&'a Source, Item = &'a T> + Sized,
fn pipe<S>(self, sink: S) -> Pipe<Self, S> where
S: ParallelSink<Self::Item>,
Self: Sized,
[src]
S: ParallelSink<Self::Item>,
Self: Sized,
fn fork<A, B, RefAItem>(
self,
sink: A,
sink_ref: B
) -> Fork<Self, A, B, &'static Self::Item> where
A: ParallelSink<Self::Item>,
B: for<'a> ParallelSink<&'a Self::Item>,
Self: Sized,
[src]
self,
sink: A,
sink_ref: B
) -> Fork<Self, A, B, &'static Self::Item> where
A: ParallelSink<Self::Item>,
B: for<'a> ParallelSink<&'a Self::Item>,
Self: Sized,
fn for_each<F>(self, f: F) -> ForEach<Self, F> where
F: FnMut(Self::Item) + Clone + Send + 'static,
Self: Sized,
[src]
F: FnMut(Self::Item) + 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::Item, B>) -> B + Clone + Send + 'static,
B: Send + 'static,
Self: Sized,
[src]
ID: FnMut() -> B + Clone + Send + 'static,
F: FnMut(B, Either<Self::Item, 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::Output: Send + 'static,
Self: ParallelPipe<Source, Item = (A, B)> + Sized,
[src]
A: Eq + Hash + Send + 'static,
S: ParallelSink<B>,
<S::Pipe as ParallelPipe<B>>::Task: Clone + Send + 'static,
S::ReduceA: 'static,
S::ReduceC: Clone,
S::Output: Send + 'static,
Self: ParallelPipe<Source, Item = (A, B)> + Sized,
fn histogram(self) -> Histogram<Self> where
Self::Item: Hash + Ord + Send + 'static,
Self: Sized,
[src]
Self::Item: Hash + Ord + Send + 'static,
Self: Sized,
fn count(self) -> Count<Self> where
Self: Sized,
[src]
Self: Sized,
fn sum<B>(self) -> Sum<Self, B> where
B: Sum<Self::Item> + Sum<B> + Send + 'static,
Self: Sized,
[src]
B: Sum<Self::Item> + Sum<B> + Send + 'static,
Self: Sized,
fn combine<F>(self, f: F) -> Combine<Self, F> where
F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + Send + 'static,
Self::Item: Send + 'static,
Self: Sized,
[src]
F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + Send + 'static,
Self::Item: Send + 'static,
Self: Sized,
fn max(self) -> Max<Self> where
Self::Item: Ord + Send + 'static,
Self: Sized,
[src]
Self::Item: Ord + Send + 'static,
Self: Sized,
fn max_by<F>(self, f: F) -> MaxBy<Self, F> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static,
Self::Item: Send + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static,
Self::Item: Send + 'static,
Self: Sized,
fn max_by_key<F, B>(self, f: F) -> MaxByKey<Self, F> where
F: FnMut(&Self::Item) -> B + Clone + Send + 'static,
B: Ord + 'static,
Self::Item: Send + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item) -> B + Clone + Send + 'static,
B: Ord + 'static,
Self::Item: Send + 'static,
Self: Sized,
fn min(self) -> Min<Self> where
Self::Item: Ord + Send + 'static,
Self: Sized,
[src]
Self::Item: Ord + Send + 'static,
Self: Sized,
fn min_by<F>(self, f: F) -> MinBy<Self, F> where
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static,
Self::Item: Send + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static,
Self::Item: Send + 'static,
Self: Sized,
fn min_by_key<F, B>(self, f: F) -> MinByKey<Self, F> where
F: FnMut(&Self::Item) -> B + Clone + Send + 'static,
B: Ord + 'static,
Self::Item: Send + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item) -> B + Clone + Send + 'static,
B: Ord + 'static,
Self::Item: Send + 'static,
Self: Sized,
fn most_frequent(
self,
n: usize,
probability: f64,
tolerance: f64
) -> MostFrequent<Self> where
Self::Item: Hash + Eq + Clone + Send + 'static,
Self: Sized,
[src]
self,
n: usize,
probability: f64,
tolerance: f64
) -> MostFrequent<Self> where
Self::Item: 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<Source, Item = (A, B)> + Sized,
A: Hash + Eq + Clone + Send + 'static,
B: Hash + 'static,
[src]
self,
n: usize,
probability: f64,
tolerance: f64,
error_rate: f64
) -> MostDistinct<Self> where
Self: ParallelPipe<Source, Item = (A, B)> + Sized,
A: Hash + Eq + Clone + Send + 'static,
B: Hash + 'static,
fn sample_unstable(self, samples: usize) -> SampleUnstable<Self> where
Self::Item: Send + 'static,
Self: Sized,
[src]
Self::Item: Send + 'static,
Self: Sized,
fn all<F>(self, f: F) -> All<Self, F> where
F: FnMut(Self::Item) -> bool + Clone + Send + 'static,
Self: Sized,
[src]
F: FnMut(Self::Item) -> bool + Clone + Send + 'static,
Self: Sized,
fn any<F>(self, f: F) -> Any<Self, F> where
F: FnMut(Self::Item) -> bool + Clone + Send + 'static,
Self: Sized,
[src]
F: FnMut(Self::Item) -> bool + Clone + Send + 'static,
Self: Sized,
fn collect<B>(self) -> Collect<Self, B> where
B: FromParallelStream<Self::Item>,
Self: Sized,
[src]
B: FromParallelStream<Self::Item>,
Self: Sized,
impl<A: ParallelPipe<Source>, B: ParallelSink<A::Item>, Source> ParallelSink<Source> for Pipe<A, B>
[src]
type Output = B::Output
type Pipe = Pipe<A, B::Pipe>
type ReduceA = B::ReduceA
type ReduceC = B::ReduceC
fn reducers(self) -> (Self::Pipe, Self::ReduceA, Self::ReduceC)
[src]
impl<A: ParallelStream, B: ParallelPipe<A::Item>> ParallelStream for Pipe<A, B>
[src]
type Item = B::Item
type Task = JoinTask<A::Task, B::Task>
fn next_task(&mut self) -> Option<Self::Task>
[src]
fn size_hint(&self) -> (usize, Option<usize>)
[src]
#[must_use]fn reduce<'life0, 'async_trait, P, B, R1, R3>(
self,
pool: &'life0 P,
reduce_a_factory: R1,
reduce_c: R3
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ThreadPool,
R1: ReducerSend<Self::Item> + Clone + Send + 'static,
R3: Reducer<<R1 as ReducerSend<Self::Item>>::Output, Output = B>,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
B: 'async_trait,
R1: 'async_trait,
R3: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
reduce_a_factory: R1,
reduce_c: R3
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ThreadPool,
R1: ReducerSend<Self::Item> + Clone + Send + 'static,
R3: Reducer<<R1 as ReducerSend<Self::Item>>::Output, Output = B>,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
B: 'async_trait,
R1: 'async_trait,
R3: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn pipe<'life0, 'async_trait, P, ParSink, A>(
self,
pool: &'life0 P,
sink: ParSink
) -> Pin<Box<dyn Future<Output = A> + 'async_trait>> where
P: ThreadPool,
ParSink: ParallelSink<Self::Item, Output = A>,
<ParSink::Pipe as ParallelPipe<Self::Item>>::Task: 'static,
ParSink::ReduceA: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
ParSink: 'async_trait,
A: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
sink: ParSink
) -> Pin<Box<dyn Future<Output = A> + 'async_trait>> where
P: ThreadPool,
ParSink: ParallelSink<Self::Item, Output = A>,
<ParSink::Pipe as ParallelPipe<Self::Item>>::Task: 'static,
ParSink::ReduceA: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
ParSink: 'async_trait,
A: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn fork<'life0, 'async_trait, P, ParSinkA, ParSinkB, A, B>(
self,
pool: &'life0 P,
sink_a: ParSinkA,
sink_b: ParSinkB
) -> Pin<Box<dyn Future<Output = (A, B)> + 'async_trait>> where
P: ThreadPool,
ParSinkA: ParallelSink<Self::Item, Output = A>,
ParSinkB: for<'a> ParallelSink<&'a Self::Item, Output = B> + 'static,
<ParSinkA::Pipe as ParallelPipe<Self::Item>>::Task: 'static,
ParSinkA::ReduceA: 'static,
<ParSinkB as ParallelSink<&'static Self::Item>>::ReduceA: 'static,
<<ParSinkB as ParallelSink<&'static Self::Item>>::Pipe as ParallelPipe<&'static Self::Item>>::Task: 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
ParSinkA: 'async_trait,
ParSinkB: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
sink_a: ParSinkA,
sink_b: ParSinkB
) -> Pin<Box<dyn Future<Output = (A, B)> + 'async_trait>> where
P: ThreadPool,
ParSinkA: ParallelSink<Self::Item, Output = A>,
ParSinkB: for<'a> ParallelSink<&'a Self::Item, Output = B> + 'static,
<ParSinkA::Pipe as ParallelPipe<Self::Item>>::Task: 'static,
ParSinkA::ReduceA: 'static,
<ParSinkB as ParallelSink<&'static Self::Item>>::ReduceA: 'static,
<<ParSinkB as ParallelSink<&'static Self::Item>>::Pipe as ParallelPipe<&'static Self::Item>>::Task: 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
ParSinkA: 'async_trait,
ParSinkB: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn group_by<'life0, 'async_trait, P, S, A, B>(
self,
pool: &'life0 P,
sink: S
) -> Pin<Box<dyn Future<Output = HashMap<A, S::Output>> + 'async_trait>> where
P: ThreadPool,
A: Eq + Hash + Send + 'static,
B: 'static,
S: ParallelSink<B>,
<S::Pipe as ParallelPipe<B>>::Task: Clone + Send + 'static,
S::ReduceA: 'static,
S::ReduceC: Clone,
S::Output: Send + 'static,
Self::Task: 'static,
Self: ParallelStream<Item = (A, B)> + Sized,
P: 'async_trait,
S: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
sink: S
) -> Pin<Box<dyn Future<Output = HashMap<A, S::Output>> + 'async_trait>> where
P: ThreadPool,
A: Eq + Hash + Send + 'static,
B: 'static,
S: ParallelSink<B>,
<S::Pipe as ParallelPipe<B>>::Task: Clone + Send + 'static,
S::ReduceA: 'static,
S::ReduceC: Clone,
S::Output: Send + 'static,
Self::Task: 'static,
Self: ParallelStream<Item = (A, B)> + Sized,
P: 'async_trait,
S: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn collect<'life0, 'async_trait, P, B>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ThreadPool,
B: FromParallelStream<Self::Item>,
B::ReduceA: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ThreadPool,
B: FromParallelStream<Self::Item>,
B::ReduceA: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnMut(&Self::Item) + Clone + Send + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item) + Clone + Send + 'static,
Self: Sized,
fn update<F>(self, f: F) -> Update<Self, F> where
F: FnMut(&mut Self::Item) + Clone + Send + 'static,
Self: Sized,
[src]
F: FnMut(&mut Self::Item) + Clone + Send + 'static,
Self: Sized,
fn map<B, F>(self, f: F) -> Map<Self, F> where
F: FnMut(Self::Item) -> B + Clone + Send + 'static,
Self: Sized,
[src]
F: FnMut(Self::Item) -> B + Clone + Send + 'static,
Self: Sized,
fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F> where
F: FnMut(Self::Item) -> B + Clone + Send + 'static,
B: Stream,
Self: Sized,
[src]
F: FnMut(Self::Item) -> B + Clone + Send + 'static,
B: Stream,
Self: Sized,
fn filter<F>(self, f: F) -> Filter<Self, F> where
F: FnMut(&Self::Item) -> bool + Clone + Send + 'static,
Self: Sized,
[src]
F: FnMut(&Self::Item) -> bool + Clone + Send + 'static,
Self: Sized,
fn chain<C>(self, chain: C) -> Chain<Self, C::ParStream> where
C: IntoParallelStream<Item = Self::Item>,
Self: Sized,
[src]
C: IntoParallelStream<Item = Self::Item>,
Self: Sized,
#[must_use]fn for_each<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>> where
P: ThreadPool,
F: FnMut(Self::Item) + Clone + Send + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>> where
P: ThreadPool,
F: FnMut(Self::Item) + Clone + Send + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn fold<'life0, 'async_trait, P, ID, F, B>(
self,
pool: &'life0 P,
identity: ID,
op: F
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ThreadPool,
ID: FnMut() -> B + Clone + Send + 'static,
F: FnMut(B, Either<Self::Item, B>) -> B + Clone + Send + 'static,
B: Send + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
ID: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
identity: ID,
op: F
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
P: ThreadPool,
ID: FnMut() -> B + Clone + Send + 'static,
F: FnMut(B, Either<Self::Item, B>) -> B + Clone + Send + 'static,
B: Send + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
ID: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn histogram<'life0, 'async_trait, P>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Vec<(Self::Item, usize)>> + 'async_trait>> where
P: ThreadPool,
Self::Item: Hash + Ord + Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Vec<(Self::Item, usize)>> + 'async_trait>> where
P: ThreadPool,
Self::Item: Hash + Ord + Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn count<'life0, 'async_trait, P>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = usize> + 'async_trait>> where
P: ThreadPool,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = usize> + 'async_trait>> where
P: ThreadPool,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn sum<'life0, 'async_trait, P, S>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = S> + 'async_trait>> where
P: ThreadPool,
S: Sum<Self::Item> + Sum<S> + Send + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
S: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = S> + 'async_trait>> where
P: ThreadPool,
S: Sum<Self::Item> + Sum<S> + Send + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
S: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn combine<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + Send + 'static,
Self::Item: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + Send + 'static,
Self::Item: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn max<'life0, 'async_trait, P>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
Self::Item: Ord + Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
Self::Item: Ord + Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn max_by<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static,
Self::Item: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static,
Self::Item: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn max_by_key<'life0, 'async_trait, P, F, B>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
F: FnMut(&Self::Item) -> B + Clone + Send + 'static,
B: Ord + 'static,
Self::Item: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
F: FnMut(&Self::Item) -> B + Clone + Send + 'static,
B: Ord + 'static,
Self::Item: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn min<'life0, 'async_trait, P>(
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
Self::Item: Ord + Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
Self::Item: Ord + Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn min_by<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static,
Self::Item: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static,
Self::Item: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn min_by_key<'life0, 'async_trait, P, F, B>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
F: FnMut(&Self::Item) -> B + Clone + Send + 'static,
B: Ord + 'static,
Self::Item: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
P: ThreadPool,
F: FnMut(&Self::Item) -> B + Clone + Send + 'static,
B: Ord + 'static,
Self::Item: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn most_frequent<'life0, 'async_trait, P>(
self,
pool: &'life0 P,
n: usize,
probability: f64,
tolerance: f64
) -> Pin<Box<dyn Future<Output = Top<Self::Item, usize>> + 'async_trait>> where
P: ThreadPool,
Self::Item: Hash + Eq + Clone + Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
n: usize,
probability: f64,
tolerance: f64
) -> Pin<Box<dyn Future<Output = Top<Self::Item, usize>> + 'async_trait>> where
P: ThreadPool,
Self::Item: Hash + Eq + Clone + Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn most_distinct<'life0, 'async_trait, P, A, B>(
self,
pool: &'life0 P,
n: usize,
probability: f64,
tolerance: f64,
error_rate: f64
) -> Pin<Box<dyn Future<Output = Top<A, HyperLogLogMagnitude<B>>> + 'async_trait>> where
P: ThreadPool,
Self: ParallelStream<Item = (A, B)> + Sized,
A: Hash + Eq + Clone + Send + 'static,
B: Hash + 'static,
Self::Task: 'static,
P: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
n: usize,
probability: f64,
tolerance: f64,
error_rate: f64
) -> Pin<Box<dyn Future<Output = Top<A, HyperLogLogMagnitude<B>>> + 'async_trait>> where
P: ThreadPool,
Self: ParallelStream<Item = (A, B)> + Sized,
A: Hash + Eq + Clone + Send + 'static,
B: Hash + 'static,
Self::Task: 'static,
P: 'async_trait,
A: 'async_trait,
B: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn sample_unstable<'life0, 'async_trait, P>(
self,
pool: &'life0 P,
samples: usize
) -> Pin<Box<dyn Future<Output = SampleUnstable<Self::Item>> + 'async_trait>> where
P: ThreadPool,
Self::Item: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
samples: usize
) -> Pin<Box<dyn Future<Output = SampleUnstable<Self::Item>> + 'async_trait>> where
P: ThreadPool,
Self::Item: Send + 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn all<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
P: ThreadPool,
F: FnMut(Self::Item) -> bool + Clone + Send + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
P: ThreadPool,
F: FnMut(Self::Item) -> bool + Clone + Send + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
#[must_use]fn any<'life0, 'async_trait, P, F>(
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
P: ThreadPool,
F: FnMut(Self::Item) -> bool + Clone + Send + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
self,
pool: &'life0 P,
f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
P: ThreadPool,
F: FnMut(Self::Item) -> bool + Clone + Send + 'static,
Self::Item: 'static,
Self::Task: 'static,
Self: Sized,
P: 'async_trait,
F: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
Auto Trait Implementations
impl<A, B> RefUnwindSafe for Pipe<A, B> where
A: RefUnwindSafe,
B: RefUnwindSafe,
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for Pipe<A, B> where
A: Send,
B: Send,
A: Send,
B: Send,
impl<A, B> Sync for Pipe<A, B> where
A: Sync,
B: Sync,
A: Sync,
B: Sync,
impl<A, B> Unpin for Pipe<A, B> where
A: Unpin,
B: Unpin,
A: Unpin,
B: Unpin,
impl<A, B> UnwindSafe for Pipe<A, B> where
A: UnwindSafe,
B: UnwindSafe,
A: UnwindSafe,
B: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoDistributedStream for T where
T: DistributedStream,
[src]
T: DistributedStream,
type DistStream = T
type Item = <T as DistributedStream>::Item
fn into_dist_stream(Self) -> <T as IntoDistributedStream>::DistStream
[src]
fn dist_stream_mut(
&mut self
) -> <&mut Self as IntoDistributedStream>::DistStream where
&'a mut Self: IntoDistributedStream,
[src]
&mut self
) -> <&mut Self as IntoDistributedStream>::DistStream where
&'a mut Self: IntoDistributedStream,
fn dist_stream(&self) -> <&Self as IntoDistributedStream>::DistStream where
&'a Self: IntoDistributedStream,
[src]
&'a Self: IntoDistributedStream,
impl<T> IntoParallelStream for T where
T: ParallelStream,
[src]
T: ParallelStream,
type ParStream = T
type Item = <T as ParallelStream>::Item
fn into_par_stream(Self) -> <T as IntoParallelStream>::ParStream
[src]
fn dist_stream_mut(&mut self) -> <&mut Self as IntoParallelStream>::ParStream where
&'a mut Self: IntoParallelStream,
[src]
&'a mut Self: IntoParallelStream,
fn par_stream(&self) -> <&Self as IntoParallelStream>::ParStream where
&'a Self: IntoParallelStream,
[src]
&'a Self: IntoParallelStream,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,