[][src]Trait amadeus::ParallelStream

#[must_use]pub trait ParallelStream where
    <Self::Task as StreamTask>::Item == Self::Item
{ type Item; type Task: StreamTask + Send; fn size_hint(&self) -> (usize, Option<usize>);
fn next_task(&mut self) -> Option<Self::Task>; fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where
        F: FnMut(&Self::Item) + Clone + Send + 'static
, { ... }
fn update<F>(self, f: F) -> Update<Self, F>
    where
        F: FnMut(&mut Self::Item) + Clone + Send + 'static
, { ... }
fn map<B, F>(self, f: F) -> Map<Self, F>
    where
        F: FnMut(Self::Item) -> B + Clone + Send + 'static
, { ... }
fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F>
    where
        B: Stream,
        F: FnMut(Self::Item) -> B + Clone + Send + 'static
, { ... }
fn filter<F, Fut>(self, f: F) -> Filter<Self, F>
    where
        F: FnMut(&Self::Item) -> Fut + Clone + Send + 'static,
        Fut: Future<Output = bool>
, { ... }
#[must_use] fn reduce<'life0, 'async_trait, P, B, R1F, R1, R3>(
        self,
        pool: &'life0 P,
        reduce_a_factory: R1F,
        reduce_c: R3
    ) -> Pin<Box<dyn Future<Output = B> + 'async_trait>>
    where
        'life0: 'async_trait,
        B: 'async_trait,
        P: ThreadPool + 'async_trait,
        R1: ReducerSend<Item = Self::Item> + Send + 'static + 'async_trait,
        R1F: Factory<Item = R1> + 'async_trait,
        R3: Reducer<Item = <R1 as ReducerSend>::Output, Output = B> + 'async_trait,
        Self: 'async_trait,
        Self::Task: 'static
, { ... }
#[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
        'life0: 'async_trait,
        A: 'async_trait,
        P: ThreadPool + 'async_trait,
        ParSink: ParallelSink<Self::Item, Output = A> + 'async_trait,
        Self: 'async_trait,
        <<ParSink as ParallelSink<Self::Item>>::Pipe as ParallelPipe<Self::Item>>::Task: 'static,
        <ParSink as ParallelSink<Self::Item>>::ReduceA: 'static,
        Self::Task: 'static
, { ... }
#[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
        'life0: 'async_trait,
        A: 'async_trait,
        B: 'async_trait,
        P: ThreadPool + 'async_trait,
        ParSinkA: ParallelSink<Self::Item, Output = A> + 'async_trait,
        ParSinkB: for<'a> ParallelSink<&'a Self::Item, Output = B> + 'static + 'async_trait,
        Self: 'async_trait,
        <<ParSinkA as ParallelSink<Self::Item>>::Pipe as ParallelPipe<Self::Item>>::Task: 'static,
        <ParSinkA as ParallelSink<Self::Item>>::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
, { ... }
#[must_use] fn for_each<'life0, 'async_trait, P, F>(
        self,
        pool: &'life0 P,
        f: F
    ) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>
    where
        'life0: 'async_trait,
        F: FnMut(Self::Item) + Clone + Send + 'static + 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[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
        'life0: 'async_trait,
        B: Send + 'static + 'async_trait,
        F: FnMut(B, Either<Self::Item, B>) -> B + Clone + Send + 'static + 'async_trait,
        ID: FnMut() -> B + Clone + Send + 'static + 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[must_use] fn group_by<'life0, 'async_trait, P, A, B, ID, F, C>(
        self,
        pool: &'life0 P,
        identity: ID,
        op: F
    ) -> Pin<Box<dyn Future<Output = HashMap<A, C, RandomState>> + 'async_trait>>
    where
        'life0: 'async_trait,
        A: Eq + Hash + Send + 'static + 'async_trait,
        B: 'static + 'async_trait,
        C: Send + 'static + 'async_trait,
        F: FnMut(C, Either<B, C>) -> C + Clone + Send + 'static + 'async_trait,
        ID: FnMut() -> C + Clone + Send + 'static + 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: ParallelStream<Item = (A, B)> + 'async_trait,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[must_use] fn histogram<'life0, 'async_trait, P>(
        self,
        pool: &'life0 P
    ) -> Pin<Box<dyn Future<Output = Vec<(Self::Item, usize)>> + 'async_trait>>
    where
        'life0: 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: Hash,
        Self::Item: Ord,
        Self::Item: Send,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[must_use] fn count<'life0, 'async_trait, P>(
        self,
        pool: &'life0 P
    ) -> Pin<Box<dyn Future<Output = usize> + 'async_trait>>
    where
        'life0: 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[must_use] fn sum<'life0, 'async_trait, P, S>(
        self,
        pool: &'life0 P
    ) -> Pin<Box<dyn Future<Output = S> + 'async_trait>>
    where
        'life0: 'async_trait,
        P: ThreadPool + 'async_trait,
        S: Sum<Self::Item> + Sum<S> + Send + 'static + 'async_trait,
        Self: 'async_trait,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[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
        'life0: 'async_trait,
        F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + Send + 'static + 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: Send,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[must_use] fn max<'life0, 'async_trait, P>(
        self,
        pool: &'life0 P
    ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>>
    where
        'life0: 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: Ord,
        Self::Item: Send,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[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
        'life0: 'async_trait,
        F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static + 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: Send,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[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
        'life0: 'async_trait,
        B: Ord + 'static + 'async_trait,
        F: FnMut(&Self::Item) -> B + Clone + Send + 'static + 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: Send,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[must_use] fn min<'life0, 'async_trait, P>(
        self,
        pool: &'life0 P
    ) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>>
    where
        'life0: 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: Ord,
        Self::Item: Send,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[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
        'life0: 'async_trait,
        F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static + 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: Send,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[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
        'life0: 'async_trait,
        B: Ord + 'static + 'async_trait,
        F: FnMut(&Self::Item) -> B + Clone + Send + 'static + 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: Send,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[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
        'life0: 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: Hash,
        Self::Item: Eq,
        Self::Item: Clone,
        Self::Item: Send,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[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
        'life0: 'async_trait,
        A: Hash + Eq + Clone + Send + 'static + 'async_trait,
        B: Hash + 'static + 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: ParallelStream<Item = (A, B)> + 'async_trait,
        Self::Task: 'static
, { ... }
#[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
        'life0: 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: Send,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[must_use] fn all<'life0, 'async_trait, P, F>(
        self,
        pool: &'life0 P,
        f: F
    ) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>>
    where
        'life0: 'async_trait,
        F: FnMut(Self::Item) -> bool + Clone + Send + 'static + 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[must_use] fn any<'life0, 'async_trait, P, F>(
        self,
        pool: &'life0 P,
        f: F
    ) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>>
    where
        'life0: 'async_trait,
        F: FnMut(Self::Item) -> bool + Clone + Send + 'static + 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        Self::Item: 'static,
        Self::Task: 'static
, { ... }
#[must_use] fn collect<'life0, 'async_trait, P, B>(
        self,
        pool: &'life0 P
    ) -> Pin<Box<dyn Future<Output = B> + 'async_trait>>
    where
        'life0: 'async_trait,
        B: FromParallelStream<Self::Item> + 'async_trait,
        P: ThreadPool + 'async_trait,
        Self: 'async_trait,
        <B as FromParallelStream<Self::Item>>::ReduceA: Send,
        <B as FromParallelStream<Self::Item>>::ReduceA: 'static,
        Self::Task: 'static
, { ... } }

Associated Types

type Item

type Task: StreamTask + Send

Loading content...

Required methods

fn size_hint(&self) -> (usize, Option<usize>)

fn next_task(&mut self) -> Option<Self::Task>

Loading content...

Provided methods

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

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

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

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

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

#[must_use]fn reduce<'life0, 'async_trait, P, B, R1F, R1, R3>(
    self,
    pool: &'life0 P,
    reduce_a_factory: R1F,
    reduce_c: R3
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
    'life0: 'async_trait,
    B: 'async_trait,
    P: ThreadPool + 'async_trait,
    R1: ReducerSend<Item = Self::Item> + Send + 'static + 'async_trait,
    R1F: Factory<Item = R1> + 'async_trait,
    R3: Reducer<Item = <R1 as ReducerSend>::Output, Output = B> + 'async_trait,
    Self: 'async_trait,
    Self::Task: 'static, 

#[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
    'life0: 'async_trait,
    A: 'async_trait,
    P: ThreadPool + 'async_trait,
    ParSink: ParallelSink<Self::Item, Output = A> + 'async_trait,
    Self: 'async_trait,
    <<ParSink as ParallelSink<Self::Item>>::Pipe as ParallelPipe<Self::Item>>::Task: 'static,
    <ParSink as ParallelSink<Self::Item>>::ReduceA: 'static,
    Self::Task: 'static, 

#[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
    'life0: 'async_trait,
    A: 'async_trait,
    B: 'async_trait,
    P: ThreadPool + 'async_trait,
    ParSinkA: ParallelSink<Self::Item, Output = A> + 'async_trait,
    ParSinkB: for<'a> ParallelSink<&'a Self::Item, Output = B> + 'static + 'async_trait,
    Self: 'async_trait,
    <<ParSinkA as ParallelSink<Self::Item>>::Pipe as ParallelPipe<Self::Item>>::Task: 'static,
    <ParSinkA as ParallelSink<Self::Item>>::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, 

#[must_use]fn for_each<'life0, 'async_trait, P, F>(
    self,
    pool: &'life0 P,
    f: F
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>> where
    'life0: 'async_trait,
    F: FnMut(Self::Item) + Clone + Send + 'static + 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: 'static,
    Self::Task: 'static, 

#[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
    'life0: 'async_trait,
    B: Send + 'static + 'async_trait,
    F: FnMut(B, Either<Self::Item, B>) -> B + Clone + Send + 'static + 'async_trait,
    ID: FnMut() -> B + Clone + Send + 'static + 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: 'static,
    Self::Task: 'static, 

#[must_use]fn group_by<'life0, 'async_trait, P, A, B, ID, F, C>(
    self,
    pool: &'life0 P,
    identity: ID,
    op: F
) -> Pin<Box<dyn Future<Output = HashMap<A, C, RandomState>> + 'async_trait>> where
    'life0: 'async_trait,
    A: Eq + Hash + Send + 'static + 'async_trait,
    B: 'static + 'async_trait,
    C: Send + 'static + 'async_trait,
    F: FnMut(C, Either<B, C>) -> C + Clone + Send + 'static + 'async_trait,
    ID: FnMut() -> C + Clone + Send + 'static + 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: ParallelStream<Item = (A, B)> + 'async_trait,
    Self::Item: 'static,
    Self::Task: 'static, 

#[must_use]fn histogram<'life0, 'async_trait, P>(
    self,
    pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Vec<(Self::Item, usize)>> + 'async_trait>> where
    'life0: 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: Hash,
    Self::Item: Ord,
    Self::Item: Send,
    Self::Item: 'static,
    Self::Task: 'static, 

#[must_use]fn count<'life0, 'async_trait, P>(
    self,
    pool: &'life0 P
) -> Pin<Box<dyn Future<Output = usize> + 'async_trait>> where
    'life0: 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: 'static,
    Self::Task: 'static, 

#[must_use]fn sum<'life0, 'async_trait, P, S>(
    self,
    pool: &'life0 P
) -> Pin<Box<dyn Future<Output = S> + 'async_trait>> where
    'life0: 'async_trait,
    P: ThreadPool + 'async_trait,
    S: Sum<Self::Item> + Sum<S> + Send + 'static + 'async_trait,
    Self: 'async_trait,
    Self::Item: 'static,
    Self::Task: 'static, 

#[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
    'life0: 'async_trait,
    F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + Send + 'static + 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: Send,
    Self::Item: 'static,
    Self::Task: 'static, 

#[must_use]fn max<'life0, 'async_trait, P>(
    self,
    pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
    'life0: 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: Ord,
    Self::Item: Send,
    Self::Item: 'static,
    Self::Task: 'static, 

#[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
    'life0: 'async_trait,
    F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static + 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: Send,
    Self::Item: 'static,
    Self::Task: 'static, 

#[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
    'life0: 'async_trait,
    B: Ord + 'static + 'async_trait,
    F: FnMut(&Self::Item) -> B + Clone + Send + 'static + 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: Send,
    Self::Item: 'static,
    Self::Task: 'static, 

#[must_use]fn min<'life0, 'async_trait, P>(
    self,
    pool: &'life0 P
) -> Pin<Box<dyn Future<Output = Option<Self::Item>> + 'async_trait>> where
    'life0: 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: Ord,
    Self::Item: Send,
    Self::Item: 'static,
    Self::Task: 'static, 

#[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
    'life0: 'async_trait,
    F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + Send + 'static + 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: Send,
    Self::Item: 'static,
    Self::Task: 'static, 

#[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
    'life0: 'async_trait,
    B: Ord + 'static + 'async_trait,
    F: FnMut(&Self::Item) -> B + Clone + Send + 'static + 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: Send,
    Self::Item: 'static,
    Self::Task: 'static, 

#[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
    'life0: 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: Hash,
    Self::Item: Eq,
    Self::Item: Clone,
    Self::Item: Send,
    Self::Item: 'static,
    Self::Task: 'static, 

#[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
    'life0: 'async_trait,
    A: Hash + Eq + Clone + Send + 'static + 'async_trait,
    B: Hash + 'static + 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: ParallelStream<Item = (A, B)> + 'async_trait,
    Self::Task: 'static, 

#[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
    'life0: 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: Send,
    Self::Item: 'static,
    Self::Task: 'static, 

#[must_use]fn all<'life0, 'async_trait, P, F>(
    self,
    pool: &'life0 P,
    f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
    'life0: 'async_trait,
    F: FnMut(Self::Item) -> bool + Clone + Send + 'static + 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: 'static,
    Self::Task: 'static, 

#[must_use]fn any<'life0, 'async_trait, P, F>(
    self,
    pool: &'life0 P,
    f: F
) -> Pin<Box<dyn Future<Output = bool> + 'async_trait>> where
    'life0: 'async_trait,
    F: FnMut(Self::Item) -> bool + Clone + Send + 'static + 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    Self::Item: 'static,
    Self::Task: 'static, 

#[must_use]fn collect<'life0, 'async_trait, P, B>(
    self,
    pool: &'life0 P
) -> Pin<Box<dyn Future<Output = B> + 'async_trait>> where
    'life0: 'async_trait,
    B: FromParallelStream<Self::Item> + 'async_trait,
    P: ThreadPool + 'async_trait,
    Self: 'async_trait,
    <B as FromParallelStream<Self::Item>>::ReduceA: Send,
    <B as FromParallelStream<Self::Item>>::ReduceA: 'static,
    Self::Task: 'static, 

Loading content...

Implementations on Foreign Types

impl<S> ParallelStream for DistParStream<S> where
    S: DistributedStream
[src]

impl<A, B> ParallelStream for Sum2<A, B> where
    A: ParallelStream,
    B: ParallelStream<Item = <A as ParallelStream>::Item>, 
[src]

type Item = <A as ParallelStream>::Item

type Task = Sum2<<A as ParallelStream>::Task, <B as ParallelStream>::Task>

Loading content...

Implementors

impl ParallelStream for Never[src]

type Item = Never

type Task = Never

impl<A, B> ParallelStream for Chain<A, B> where
    A: ParallelStream,
    B: ParallelStream<Item = <A as ParallelStream>::Item>, 
[src]

type Item = <A as ParallelStream>::Item

type Task = ChainTask<<A as ParallelStream>::Task, <B as ParallelStream>::Task>

impl<I> ParallelStream for IterParStream<I> where
    I: Iterator,
    <I as Iterator>::Item: Send,
    <I as Iterator>::Item: 'static, 
[src]

impl<I, F> ParallelStream for Inspect<I, F> where
    F: FnMut(&<I as ParallelStream>::Item) + Clone + Send + 'static,
    I: ParallelStream
[src]

type Item = <I as ParallelStream>::Item

type Task = InspectTask<<I as ParallelStream>::Task, F>

impl<I, F> ParallelStream for Update<I, F> where
    F: FnMut(&mut <I as ParallelStream>::Item) + Clone + Send + 'static,
    I: ParallelStream
[src]

type Item = <I as ParallelStream>::Item

type Task = UpdateTask<<I as ParallelStream>::Task, F>

impl<I, F, Fut> ParallelStream for Filter<I, F> where
    F: FnMut(&<I as ParallelStream>::Item) -> Fut + Clone + Send + 'static,
    Fut: Future<Output = bool>,
    I: ParallelStream
[src]

type Item = <I as ParallelStream>::Item

type Task = FilterTask<<I as ParallelStream>::Task, F>

impl<I, F, R> ParallelStream for FlatMap<I, F> where
    F: FnMut(<I as ParallelStream>::Item) -> R + Clone + Send + 'static,
    I: ParallelStream,
    R: Stream
[src]

type Item = <R as Stream>::Item

type Task = FlatMapTask<<I as ParallelStream>::Task, F>

impl<I, F, R> ParallelStream for Map<I, F> where
    F: FnMut(<I as ParallelStream>::Item) -> R + Clone + Send + 'static,
    I: ParallelStream
[src]

type Item = R

type Task = MapTask<<I as ParallelStream>::Task, F>

impl<I, T, E, U> ParallelStream for IntoStream<I, U> where
    I: ParallelStream<Item = Result<T, E>>,
    T: Into<U>,
    U: 'static, 
[src]

type Item = Result<U, E>

type Task = IntoTask<I::Task, U>

Loading content...