[][src]Trait amadeus::dist_iter::DistributedIteratorMulti

#[must_use]
pub trait DistributedIteratorMulti<Source> where
    <Self::Task as ConsumerMulti<Source>>::Item == Self::Item
{ type Item; type Task: ConsumerMulti<Source> + ProcessSend; fn task(&self) -> Self::Task; fn for_each<F>(self, f: F) -> ForEach<Self, F>
    where
        F: FnMut(Self::Item) + Clone + ProcessSend,
        Self::Item: 'static
, { ... }
fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where
        F: FnMut(&Self::Item) + Clone + ProcessSend
, { ... }
fn update<F>(self, f: F) -> Update<Self, F>
    where
        F: FnMut(&mut Self::Item) + Clone + ProcessSend
, { ... }
fn map<B, F>(self, f: F) -> Map<Self, F>
    where
        F: FnMut(Self::Item) -> B + Clone + ProcessSend
, { ... }
fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F>
    where
        B: IntoIterator,
        F: FnMut(Self::Item) -> B + Clone + ProcessSend
, { ... }
fn filter<F>(self, f: F) -> Filter<Self, F>
    where
        F: FnMut(&Self::Item) -> bool + Clone + ProcessSend
, { ... }
fn fold<ID, F, B>(self, identity: ID, op: F) -> Fold<Self, ID, F, B>
    where
        B: ProcessSend,
        F: FnMut(B, Either<Self::Item, B>) -> B + Clone + ProcessSend,
        ID: FnMut() -> B + Clone + ProcessSend,
        Self::Item: 'static
, { ... }
fn count(self) -> Count<Self>
    where
        Self::Item: 'static
, { ... }
fn sum<B>(self) -> Sum<Self, B>
    where
        B: Sum<Self::Item> + Sum<B> + ProcessSend,
        Self::Item: 'static
, { ... }
fn combine<F>(self, f: F) -> Combine<Self, F>
    where
        F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + ProcessSend,
        Self::Item: ProcessSend
, { ... }
fn max(self) -> Max<Self>
    where
        Self::Item: Ord,
        Self::Item: ProcessSend
, { ... }
fn max_by<F>(self, f: F) -> MaxBy<Self, F>
    where
        F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend,
        Self::Item: ProcessSend
, { ... }
fn max_by_key<F, B>(self, f: F) -> MaxByKey<Self, F>
    where
        B: Ord + 'static,
        F: FnMut(&Self::Item) -> B + Clone + ProcessSend,
        Self::Item: ProcessSend
, { ... }
fn min(self) -> Min<Self>
    where
        Self::Item: Ord,
        Self::Item: ProcessSend
, { ... }
fn min_by<F>(self, f: F) -> MinBy<Self, F>
    where
        F: FnMut(&Self::Item, &Self::Item) -> Ordering + Clone + ProcessSend,
        Self::Item: ProcessSend
, { ... }
fn min_by_key<F, B>(self, f: F) -> MinByKey<Self, F>
    where
        B: Ord + 'static,
        F: FnMut(&Self::Item) -> B + Clone + ProcessSend,
        Self::Item: ProcessSend
, { ... }
fn most_frequent(
        self,
        n: usize,
        probability: f64,
        tolerance: f64
    ) -> MostFrequent<Self>
    where
        Self::Item: Hash,
        Self::Item: Eq,
        Self::Item: Clone,
        Self::Item: ProcessSend
, { ... }
fn most_distinct<A, B>(
        self,
        n: usize,
        probability: f64,
        tolerance: f64,
        error_rate: f64
    ) -> MostDistinct<Self>
    where
        A: Hash + Eq + Clone + ProcessSend,
        B: Hash + 'static,
        Self: DistributedIteratorMulti<Source, Item = (A, B)>
, { ... }
fn sample_unstable(self, samples: usize) -> SampleUnstable<Self>
    where
        Self::Item: ProcessSend
, { ... }
fn all<F>(self, f: F) -> All<Self, F>
    where
        F: FnMut(Self::Item) -> bool + Clone + ProcessSend,
        Self::Item: 'static
, { ... }
fn any<F>(self, f: F) -> Any<Self, F>
    where
        F: FnMut(Self::Item) -> bool + Clone + ProcessSend,
        Self::Item: 'static
, { ... }
fn collect<B>(self) -> Collect<Self, B>
    where
        B: FromDistributedIterator<Self::Item>
, { ... }
fn cloned<'a, T>(self) -> Cloned<Self, T, Source>
    where
        Self: DistributedIteratorMulti<&'a Source, Item = &'a T>,
        Source: 'a,
        T: Clone + 'a
, { ... } }

Associated Types

type Item

type Task: ConsumerMulti<Source> + ProcessSend

Loading content...

Required methods

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

Loading content...

Provided methods

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

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

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

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

fn flat_map<B, F>(self, f: F) -> FlatMap<Self, F> where
    B: IntoIterator,
    F: FnMut(Self::Item) -> B + Clone + ProcessSend

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

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

fn count(self) -> Count<Self> where
    Self::Item: 'static, 

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

fn combine<F>(self, f: F) -> Combine<Self, F> where
    F: FnMut(Self::Item, Self::Item) -> Self::Item + Clone + ProcessSend,
    Self::Item: ProcessSend

fn max(self) -> Max<Self> where
    Self::Item: Ord,
    Self::Item: ProcessSend

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

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

fn min(self) -> Min<Self> where
    Self::Item: Ord,
    Self::Item: ProcessSend

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

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

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

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

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

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

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

fn collect<B>(self) -> Collect<Self, B> where
    B: FromDistributedIterator<Self::Item>, 

fn cloned<'a, T>(self) -> Cloned<Self, T, Source> where
    Self: DistributedIteratorMulti<&'a Source, Item = &'a T>,
    Source: 'a,
    T: Clone + 'a, 

Loading content...

Implementations on Foreign Types

impl<Source, I0> DistributedIteratorMulti<Source> for (I0,) where
    I0: DistributedIteratorMulti<Source>, 
[src]

type Item = Sum1<<I0 as DistributedIteratorMulti<Source>>::Item>

type Task = (<I0 as DistributedIteratorMulti<Source>>::Task,)

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

type Item = Sum8<<I0 as DistributedIteratorMulti<Source>>::Item, <I1 as DistributedIteratorMulti<Source>>::Item, <I2 as DistributedIteratorMulti<Source>>::Item, <I3 as DistributedIteratorMulti<Source>>::Item, <I4 as DistributedIteratorMulti<Source>>::Item, <I5 as DistributedIteratorMulti<Source>>::Item, <I6 as DistributedIteratorMulti<Source>>::Item, <I7 as DistributedIteratorMulti<Source>>::Item>

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

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

type Item = Sum6<<I0 as DistributedIteratorMulti<Source>>::Item, <I1 as DistributedIteratorMulti<Source>>::Item, <I2 as DistributedIteratorMulti<Source>>::Item, <I3 as DistributedIteratorMulti<Source>>::Item, <I4 as DistributedIteratorMulti<Source>>::Item, <I5 as DistributedIteratorMulti<Source>>::Item>

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

impl<Source, I0, I1> DistributedIteratorMulti<Source> for (I0, I1) where
    I0: DistributedIteratorMulti<Source>,
    I1: DistributedIteratorMulti<Source>,
    Source: Copy
[src]

type Item = Sum2<<I0 as DistributedIteratorMulti<Source>>::Item, <I1 as DistributedIteratorMulti<Source>>::Item>

type Task = (<I0 as DistributedIteratorMulti<Source>>::Task, <I1 as DistributedIteratorMulti<Source>>::Task)

impl<Source> DistributedIteratorMulti<Source> for ()[src]

type Item = Sum0

type Task = ()

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

type Item = <A as DistributedIteratorMulti<Source>>::Item

type Task = Sum2<<A as DistributedIteratorMulti<Source>>::Task, <B as DistributedIteratorMulti<Source>>::Task>

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

type Item = Sum5<<I0 as DistributedIteratorMulti<Source>>::Item, <I1 as DistributedIteratorMulti<Source>>::Item, <I2 as DistributedIteratorMulti<Source>>::Item, <I3 as DistributedIteratorMulti<Source>>::Item, <I4 as DistributedIteratorMulti<Source>>::Item>

type Task = (<I0 as DistributedIteratorMulti<Source>>::Task, <I1 as DistributedIteratorMulti<Source>>::Task, <I2 as DistributedIteratorMulti<Source>>::Task, <I3 as DistributedIteratorMulti<Source>>::Task, <I4 as DistributedIteratorMulti<Source>>::Task)

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

type Item = Sum3<<I0 as DistributedIteratorMulti<Source>>::Item, <I1 as DistributedIteratorMulti<Source>>::Item, <I2 as DistributedIteratorMulti<Source>>::Item>

type Task = (<I0 as DistributedIteratorMulti<Source>>::Task, <I1 as DistributedIteratorMulti<Source>>::Task, <I2 as DistributedIteratorMulti<Source>>::Task)

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

type Item = Sum4<<I0 as DistributedIteratorMulti<Source>>::Item, <I1 as DistributedIteratorMulti<Source>>::Item, <I2 as DistributedIteratorMulti<Source>>::Item, <I3 as DistributedIteratorMulti<Source>>::Item>

type Task = (<I0 as DistributedIteratorMulti<Source>>::Task, <I1 as DistributedIteratorMulti<Source>>::Task, <I2 as DistributedIteratorMulti<Source>>::Task, <I3 as DistributedIteratorMulti<Source>>::Task)

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

type Item = Sum7<<I0 as DistributedIteratorMulti<Source>>::Item, <I1 as DistributedIteratorMulti<Source>>::Item, <I2 as DistributedIteratorMulti<Source>>::Item, <I3 as DistributedIteratorMulti<Source>>::Item, <I4 as DistributedIteratorMulti<Source>>::Item, <I5 as DistributedIteratorMulti<Source>>::Item, <I6 as DistributedIteratorMulti<Source>>::Item>

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

Loading content...

Implementors

impl<'a, I, Source, T> DistributedIteratorMulti<&'a Source> for Cloned<I, T, Source> where
    I: DistributedIteratorMulti<&'a Source, Item = &'a T>,
    T: 'a + Clone
[src]

type Item = T

type Task = ClonedConsumer<<I as DistributedIteratorMulti<&'a Source>>::Task>

impl<I, F, R, Source> DistributedIteratorMulti<Source> for FlatMap<I, F> where
    F: FnMut(<I as DistributedIteratorMulti<Source>>::Item) -> R + Clone + ProcessSend,
    I: DistributedIteratorMulti<Source>,
    R: IntoIterator
[src]

type Item = <R as IntoIterator>::Item

type Task = FlatMapConsumer<<I as DistributedIteratorMulti<Source>>::Task, F>

impl<I, F, R, Source> DistributedIteratorMulti<Source> for Map<I, F> where
    F: FnMut(<I as DistributedIteratorMulti<Source>>::Item) -> R + Clone + ProcessSend,
    I: DistributedIteratorMulti<Source>, 
[src]

type Item = R

type Task = MapConsumer<<I as DistributedIteratorMulti<Source>>::Task, F>

impl<I, F, Source> DistributedIteratorMulti<Source> for Filter<I, F> where
    F: FnMut(&<I as DistributedIteratorMulti<Source>>::Item) -> bool + Clone + ProcessSend,
    I: DistributedIteratorMulti<Source>, 
[src]

type Item = <I as DistributedIteratorMulti<Source>>::Item

type Task = FilterConsumer<<I as DistributedIteratorMulti<Source>>::Task, F>

impl<I, F, Source> DistributedIteratorMulti<Source> for Inspect<I, F> where
    F: FnMut(&<I as DistributedIteratorMulti<Source>>::Item) + Clone + ProcessSend,
    I: DistributedIteratorMulti<Source>, 
[src]

type Item = <I as DistributedIteratorMulti<Source>>::Item

type Task = InspectConsumer<<I as DistributedIteratorMulti<Source>>::Task, F>

impl<I, F, Source> DistributedIteratorMulti<Source> for Update<I, F> where
    F: FnMut(&mut <I as DistributedIteratorMulti<Source>>::Item) + Clone + ProcessSend,
    I: DistributedIteratorMulti<Source>, 
[src]

type Item = <I as DistributedIteratorMulti<Source>>::Item

type Task = UpdateConsumer<<I as DistributedIteratorMulti<Source>>::Task, F>

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

type Item = Item

type Task = IdentityMultiTask

Loading content...