[][src]Trait amadeus::par_pipe::DistributedPipe

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

Associated Types

type Output

type Task: PipeTask<Input> + ProcessSend

Loading content...

Required methods

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

Loading content...

Provided methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

fn count(self) -> Count<Self>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Loading content...

Implementations on Foreign Types

impl<Input> DistributedPipe<Input> for ()[src]

type Output = Sum0

type Task = ()

impl<Input, I0, I1> DistributedPipe<Input> for (I0, I1) where
    I0: DistributedPipe<Input>,
    I1: DistributedPipe<Input>,
    Input: Copy
[src]

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

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

impl<Input, I0, I1, I2, I3, I4, I5, I6> DistributedPipe<Input> for (I0, I1, I2, I3, I4, I5, I6) where
    I0: DistributedPipe<Input>,
    I1: DistributedPipe<Input>,
    I2: DistributedPipe<Input>,
    I3: DistributedPipe<Input>,
    I4: DistributedPipe<Input>,
    I5: DistributedPipe<Input>,
    I6: DistributedPipe<Input>,
    Input: Copy
[src]

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

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

impl<Input, I0, I1, I2> DistributedPipe<Input> for (I0, I1, I2) where
    I0: DistributedPipe<Input>,
    I1: DistributedPipe<Input>,
    I2: DistributedPipe<Input>,
    Input: Copy
[src]

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

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

impl<Input, I0, I1, I2, I3, I4, I5> DistributedPipe<Input> for (I0, I1, I2, I3, I4, I5) where
    I0: DistributedPipe<Input>,
    I1: DistributedPipe<Input>,
    I2: DistributedPipe<Input>,
    I3: DistributedPipe<Input>,
    I4: DistributedPipe<Input>,
    I5: DistributedPipe<Input>,
    Input: Copy
[src]

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

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

impl<Input, I0, I1, I2, I3> DistributedPipe<Input> for (I0, I1, I2, I3) where
    I0: DistributedPipe<Input>,
    I1: DistributedPipe<Input>,
    I2: DistributedPipe<Input>,
    I3: DistributedPipe<Input>,
    Input: Copy
[src]

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

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

impl<A, B, Input> DistributedPipe<Input> for Sum2<A, B> where
    A: DistributedPipe<Input>,
    B: DistributedPipe<Input, Output = <A as DistributedPipe<Input>>::Output>, 
[src]

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

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

impl<Input, I0, I1, I2, I3, I4> DistributedPipe<Input> for (I0, I1, I2, I3, I4) where
    I0: DistributedPipe<Input>,
    I1: DistributedPipe<Input>,
    I2: DistributedPipe<Input>,
    I3: DistributedPipe<Input>,
    I4: DistributedPipe<Input>,
    Input: Copy
[src]

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

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

impl<Input, I0, I1, I2, I3, I4, I5, I6, I7> DistributedPipe<Input> for (I0, I1, I2, I3, I4, I5, I6, I7) where
    I0: DistributedPipe<Input>,
    I1: DistributedPipe<Input>,
    I2: DistributedPipe<Input>,
    I3: DistributedPipe<Input>,
    I4: DistributedPipe<Input>,
    I5: DistributedPipe<Input>,
    I6: DistributedPipe<Input>,
    I7: DistributedPipe<Input>,
    Input: Copy
[src]

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

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

impl<Input, I0> DistributedPipe<Input> for (I0,) where
    I0: DistributedPipe<Input>, 
[src]

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

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

Loading content...

Implementors

impl<'a, P, Input, T> DistributedPipe<&'a Input> for Cloned<P, T, Input> where
    P: DistributedPipe<&'a Input, Output = &'a T>,
    T: 'a + Clone
[src]

type Output = T

type Task = ClonedTask<<P as DistributedPipe<&'a Input>>::Task>

impl<A, B, C, Input, RefAItem> DistributedPipe<Input> for Fork<A, B, C, RefAItem> where
    A: DistributedPipe<Input>,
    B: DistributedPipe<<A as DistributedPipe<Input>>::Output>,
    C: DistributedPipe<RefAItem>,
    RefAItem: 'static, 
[src]

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

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

impl<A, B, Input> DistributedPipe<Input> for Pipe<A, B> where
    A: DistributedPipe<Input>,
    B: DistributedPipe<<A as DistributedPipe<Input>>::Output>, 
[src]

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

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

impl<Item> DistributedPipe<Item> for Identity[src]

type Output = Item

type Task = IdentityTask

impl<P, F, Input> DistributedPipe<Input> for Filter<P, F> where
    F: for<'a> FnMut<(&'a <P as DistributedPipe<Input>>::Output,), Output = bool> + Clone + ProcessSend + 'static,
    P: DistributedPipe<Input>, 
[src]

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

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

impl<P, F, Input> DistributedPipe<Input> for Inspect<P, F> where
    F: for<'a> FnMut<(&'a <P as DistributedPipe<Input>>::Output,), Output = ()> + Clone + ProcessSend + 'static,
    P: DistributedPipe<Input>, 
[src]

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

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

impl<P, F, Input> DistributedPipe<Input> for Update<P, F> where
    F: for<'a> FnMut<(&'a mut <P as DistributedPipe<Input>>::Output,), Output = ()> + Clone + ProcessSend + 'static,
    P: DistributedPipe<Input>, 
[src]

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

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

impl<P, F, R, Input> DistributedPipe<Input> for FilterMapSync<P, F> where
    F: FnMut<(<P as DistributedPipe<Input>>::Output,), Output = Option<R>> + Clone + ProcessSend + 'static,
    P: DistributedPipe<Input>, 
[src]

type Output = R

type Task = FilterMapSyncTask<<P as DistributedPipe<Input>>::Task, F>

impl<P, F, R, Input> DistributedPipe<Input> for FlatMap<P, F> where
    F: FnMut<(<P as DistributedPipe<Input>>::Output,), Output = R> + Clone + ProcessSend + 'static,
    P: DistributedPipe<Input>,
    R: Stream
[src]

type Output = <R as Stream>::Item

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

impl<P, F, R, Input> DistributedPipe<Input> for FlatMapSync<P, F> where
    F: FnMut<(<P as DistributedPipe<Input>>::Output,), Output = R> + Clone + ProcessSend + 'static,
    P: DistributedPipe<Input>,
    R: Iterator
[src]

type Output = <R as Iterator>::Item

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

impl<P, F, R, Input> DistributedPipe<Input> for Map<P, F> where
    F: FnMut<(<P as DistributedPipe<Input>>::Output,), Output = R> + Clone + ProcessSend + 'static,
    P: DistributedPipe<Input>, 
[src]

type Output = R

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

impl<P, F, R, Input> DistributedPipe<Input> for MapSync<P, F> where
    F: FnMut<(<P as DistributedPipe<Input>>::Output,), Output = R> + Clone + ProcessSend + 'static,
    P: DistributedPipe<Input>, 
[src]

type Output = R

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

impl<P, K, V1, V2, Input> DistributedPipe<Input> for InnerJoin<P, K, V1, V2> where
    K: Eq + Hash + Clone + ProcessSend + 'static,
    P: DistributedPipe<Input, Output = (K, V1)>,
    V1: 'static,
    V2: Clone + ProcessSend + 'static, 
[src]

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

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

impl<P, K, V1, V2, Input> DistributedPipe<Input> for LeftJoin<P, K, V1, V2> where
    K: Eq + Hash + Clone + ProcessSend + 'static,
    P: DistributedPipe<Input, Output = (K, V1)>,
    V1: 'static,
    V2: Clone + ProcessSend + 'static, 
[src]

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

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

Loading content...