[][src]Trait amadeus::dist_iter::Reducer

pub trait Reducer {
    type Item;
    type Output;
    fn push(&mut self, item: Self::Item) -> bool;
fn ret(self) -> Self::Output; }

Associated Types

type Item

type Output

Loading content...

Required methods

fn push(&mut self, item: Self::Item) -> bool

fn ret(self) -> Self::Output

Loading content...

Implementors

impl Reducer for BoolAndReducer[src]

type Item = bool

type Output = bool

impl Reducer for BoolOrReducer[src]

type Item = bool

type Output = bool

impl Reducer for ReduceA0[src]

type Item = Sum0

type Output = ()

impl Reducer for ReduceB0[src]

type Item = ()

type Output = ()

impl<A> Reducer for CountReducer<A>[src]

type Item = A

type Output = usize

impl<A> Reducer for MostFrequentReducer<A> where
    A: Clone + Hash + Eq
[src]

type Item = A

type Output = Top<A, usize>

impl<A> Reducer for ReduceA1<A> where
    A: Reducer
[src]

type Item = Sum1<<A as Reducer>::Item>

type Output = (<A as Reducer>::Output,)

impl<A> Reducer for ReduceB1<A> where
    A: Reducer
[src]

type Item = (<A as Reducer>::Item,)

type Output = (<A as Reducer>::Output,)

impl<A> Reducer for SampleUnstableReducer<A>[src]

type Item = A

type Output = SampleUnstable<A>

impl<A, B> Reducer for MostDistinctReducer<A, B> where
    A: Clone + Hash + Eq,
    B: Hash
[src]

type Item = (A, B)

type Output = Top<A, HyperLogLogMagnitude<B>>

impl<A, B> Reducer for ReduceA2<A, B> where
    A: Reducer,
    B: Reducer
[src]

type Item = Sum2<<A as Reducer>::Item, <B as Reducer>::Item>

type Output = (<A as Reducer>::Output, <B as Reducer>::Output)

impl<A, B> Reducer for ReduceB2<A, B> where
    A: Reducer,
    B: Reducer
[src]

type Item = (<A as Reducer>::Item, <B as Reducer>::Item)

type Output = (<A as Reducer>::Output, <B as Reducer>::Output)

impl<A, B> Reducer for SumReducer<A, B> where
    B: Sum<A> + Sum<B>, 
[src]

type Item = A

type Output = B

impl<A, B, C> Reducer for ReduceA3<A, B, C> where
    A: Reducer,
    B: Reducer,
    C: Reducer
[src]

type Item = Sum3<<A as Reducer>::Item, <B as Reducer>::Item, <C as Reducer>::Item>

type Output = (<A as Reducer>::Output, <B as Reducer>::Output, <C as Reducer>::Output)

impl<A, B, C> Reducer for ReduceB3<A, B, C> where
    A: Reducer,
    B: Reducer,
    C: Reducer
[src]

type Item = (<A as Reducer>::Item, <B as Reducer>::Item, <C as Reducer>::Item)

type Output = (<A as Reducer>::Output, <B as Reducer>::Output, <C as Reducer>::Output)

impl<A, B, C, D> Reducer for ReduceA4<A, B, C, D> where
    A: Reducer,
    B: Reducer,
    C: Reducer,
    D: Reducer
[src]

type Item = Sum4<<A as Reducer>::Item, <B as Reducer>::Item, <C as Reducer>::Item, <D as Reducer>::Item>

type Output = (<A as Reducer>::Output, <B as Reducer>::Output, <C as Reducer>::Output, <D as Reducer>::Output)

impl<A, B, C, D> Reducer for ReduceB4<A, B, C, D> where
    A: Reducer,
    B: Reducer,
    C: Reducer,
    D: Reducer
[src]

type Item = (<A as Reducer>::Item, <B as Reducer>::Item, <C as Reducer>::Item, <D as Reducer>::Item)

type Output = (<A as Reducer>::Output, <B as Reducer>::Output, <C as Reducer>::Output, <D as Reducer>::Output)

impl<A, B, C, D, E> Reducer for ReduceA5<A, B, C, D, E> where
    A: Reducer,
    B: Reducer,
    C: Reducer,
    D: Reducer,
    E: Reducer
[src]

type Item = Sum5<<A as Reducer>::Item, <B as Reducer>::Item, <C as Reducer>::Item, <D as Reducer>::Item, <E as Reducer>::Item>

type Output = (<A as Reducer>::Output, <B as Reducer>::Output, <C as Reducer>::Output, <D as Reducer>::Output, <E as Reducer>::Output)

impl<A, B, C, D, E> Reducer for ReduceB5<A, B, C, D, E> where
    A: Reducer,
    B: Reducer,
    C: Reducer,
    D: Reducer,
    E: Reducer
[src]

type Item = (<A as Reducer>::Item, <B as Reducer>::Item, <C as Reducer>::Item, <D as Reducer>::Item, <E as Reducer>::Item)

type Output = (<A as Reducer>::Output, <B as Reducer>::Output, <C as Reducer>::Output, <D as Reducer>::Output, <E as Reducer>::Output)

impl<A, B, C, D, E, F> Reducer for ReduceA6<A, B, C, D, E, F> where
    A: Reducer,
    B: Reducer,
    C: Reducer,
    D: Reducer,
    E: Reducer,
    F: Reducer
[src]

type Item = Sum6<<A as Reducer>::Item, <B as Reducer>::Item, <C as Reducer>::Item, <D as Reducer>::Item, <E as Reducer>::Item, <F as Reducer>::Item>

type Output = (<A as Reducer>::Output, <B as Reducer>::Output, <C as Reducer>::Output, <D as Reducer>::Output, <E as Reducer>::Output, <F as Reducer>::Output)

impl<A, B, C, D, E, F> Reducer for ReduceB6<A, B, C, D, E, F> where
    A: Reducer,
    B: Reducer,
    C: Reducer,
    D: Reducer,
    E: Reducer,
    F: Reducer
[src]

type Item = (<A as Reducer>::Item, <B as Reducer>::Item, <C as Reducer>::Item, <D as Reducer>::Item, <E as Reducer>::Item, <F as Reducer>::Item)

type Output = (<A as Reducer>::Output, <B as Reducer>::Output, <C as Reducer>::Output, <D as Reducer>::Output, <E as Reducer>::Output, <F as Reducer>::Output)

impl<A, B, C, D, E, F, G> Reducer for ReduceA7<A, B, C, D, E, F, G> where
    A: Reducer,
    B: Reducer,
    C: Reducer,
    D: Reducer,
    E: Reducer,
    F: Reducer,
    G: Reducer
[src]

type Item = Sum7<<A as Reducer>::Item, <B as Reducer>::Item, <C as Reducer>::Item, <D as Reducer>::Item, <E as Reducer>::Item, <F as Reducer>::Item, <G as Reducer>::Item>

type Output = (<A as Reducer>::Output, <B as Reducer>::Output, <C as Reducer>::Output, <D as Reducer>::Output, <E as Reducer>::Output, <F as Reducer>::Output, <G as Reducer>::Output)

impl<A, B, C, D, E, F, G> Reducer for ReduceB7<A, B, C, D, E, F, G> where
    A: Reducer,
    B: Reducer,
    C: Reducer,
    D: Reducer,
    E: Reducer,
    F: Reducer,
    G: Reducer
[src]

type Item = (<A as Reducer>::Item, <B as Reducer>::Item, <C as Reducer>::Item, <D as Reducer>::Item, <E as Reducer>::Item, <F as Reducer>::Item, <G as Reducer>::Item)

type Output = (<A as Reducer>::Output, <B as Reducer>::Output, <C as Reducer>::Output, <D as Reducer>::Output, <E as Reducer>::Output, <F as Reducer>::Output, <G as Reducer>::Output)

impl<A, B, C, D, E, F, G, H> Reducer for ReduceA8<A, B, C, D, E, F, G, H> where
    A: Reducer,
    B: Reducer,
    C: Reducer,
    D: Reducer,
    E: Reducer,
    F: Reducer,
    G: Reducer,
    H: Reducer
[src]

type Item = Sum8<<A as Reducer>::Item, <B as Reducer>::Item, <C as Reducer>::Item, <D as Reducer>::Item, <E as Reducer>::Item, <F as Reducer>::Item, <G as Reducer>::Item, <H as Reducer>::Item>

type Output = (<A as Reducer>::Output, <B as Reducer>::Output, <C as Reducer>::Output, <D as Reducer>::Output, <E as Reducer>::Output, <F as Reducer>::Output, <G as Reducer>::Output, <H as Reducer>::Output)

impl<A, B, C, D, E, F, G, H> Reducer for ReduceB8<A, B, C, D, E, F, G, H> where
    A: Reducer,
    B: Reducer,
    C: Reducer,
    D: Reducer,
    E: Reducer,
    F: Reducer,
    G: Reducer,
    H: Reducer
[src]

type Item = (<A as Reducer>::Item, <B as Reducer>::Item, <C as Reducer>::Item, <D as Reducer>::Item, <E as Reducer>::Item, <F as Reducer>::Item, <G as Reducer>::Item, <H as Reducer>::Item)

type Output = (<A as Reducer>::Output, <B as Reducer>::Output, <C as Reducer>::Output, <D as Reducer>::Output, <E as Reducer>::Output, <F as Reducer>::Output, <G as Reducer>::Output, <H as Reducer>::Output)

impl<A, B, F> Reducer for CombineReducer<A, B, F> where
    F: Combiner<B>,
    Option<B>: From<A>, 
[src]

type Item = A

type Output = Option<B>

impl<A, F> Reducer for AllReducer<A, F> where
    F: FnMut(A) -> bool
[src]

type Item = A

type Output = bool

impl<A, F> Reducer for AnyReducer<A, F> where
    F: FnMut(A) -> bool
[src]

type Item = A

type Output = bool

impl<A, F> Reducer for ForEachReducer<A, F> where
    F: FnMut(A) + Clone
[src]

type Item = A

type Output = ()

impl<A, ID, F, B> Reducer for FoldReducerA<A, ID, F, B> where
    F: FnMut(B, Either<A, B>) -> B + Clone,
    ID: FnMut() -> B + Clone
[src]

type Item = A

type Output = B

impl<A, ID, F, B> Reducer for FoldReducerB<A, ID, F, B> where
    F: FnMut(B, Either<A, B>) -> B + Clone,
    ID: FnMut() -> B + Clone
[src]

type Item = B

type Output = B

impl<A, T> Reducer for PushReducer<A, T> where
    T: Push<A>, 
[src]

type Item = A

type Output = T

impl<A, T, B> Reducer for ExtendReducer<A, T> where
    A: IntoIterator<Item = B>,
    T: Extend<B>, 
[src]

type Item = A

type Output = T

impl<R> Reducer for OptionReducer<R> where
    R: Reducer
[src]

type Item = Option<<R as Reducer>::Item>

type Output = Option<<R as Reducer>::Output>

impl<R, B> Reducer for NonzeroReducer<R> where
    R: Reducer<Output = Zeroable<B>>, 
[src]

type Item = <R as Reducer>::Item

type Output = B

impl<R, E> Reducer for ResultReducer<R, E> where
    R: Reducer
[src]

type Item = Result<<R as Reducer>::Item, E>

type Output = Result<<R as Reducer>::Output, E>

impl<R, T> Reducer for IntoReducer<R, T> where
    R: Reducer,
    <R as Reducer>::Output: Into<T>, 
[src]

type Item = <R as Reducer>::Item

type Output = T

Loading content...