[][src]Struct rayon_croissant::MapfoldReduce

pub struct MapfoldReduce<'acc, Accumulator: 'acc, Input, Mapfold, Init, Reduce> { /* fields omitted */ }

MapfoldReduce is an iterator that transforms the elements of an underlying iterator.

This struct is created by the mapfold_reduce_into() method on ParallelIteratorExt.

Trait Implementations

impl<'acc, Output, Accumulator, Input, Mapfold, Init, Reduce> IndexedParallelIterator for MapfoldReduce<'acc, Accumulator, Input, Mapfold, Init, Reduce> where
    Input: IndexedParallelIterator,
    Accumulator: Send + 'acc,
    Output: Send,
    Mapfold: Clone + Fn(&mut Accumulator, Input::Item) -> Output + Send,
    Init: Clone + Send + Fn() -> Accumulator,
    Reduce: Clone + Fn(&mut Accumulator, Accumulator) + Send
[src]

impl<'acc, Output, Accumulator, Input, Mapfold, Init, Reduce> ParallelIterator for MapfoldReduce<'acc, Accumulator, Input, Mapfold, Init, Reduce> where
    Output: Send,
    Accumulator: Send + 'acc,
    Input: ParallelIterator,
    Mapfold: Clone + Fn(&mut Accumulator, Input::Item) -> Output + Send,
    Init: Clone + Send + Fn() -> Accumulator,
    Reduce: Clone + Fn(&mut Accumulator, Accumulator) + Send
[src]

type Item = Output

The type of item that this parallel iterator produces. For example, if you use the [for_each] method, this is the type of item that your closure will be invoked with. Read more

Auto Trait Implementations

impl<'acc, Accumulator, Input, Mapfold, Init, Reduce> RefUnwindSafe for MapfoldReduce<'acc, Accumulator, Input, Mapfold, Init, Reduce> where
    Accumulator: RefUnwindSafe,
    Init: RefUnwindSafe,
    Input: RefUnwindSafe,
    Mapfold: RefUnwindSafe,
    Reduce: RefUnwindSafe

impl<'acc, Accumulator, Input, Mapfold, Init, Reduce> Send for MapfoldReduce<'acc, Accumulator, Input, Mapfold, Init, Reduce> where
    Accumulator: Send,
    Init: Send,
    Input: Send,
    Mapfold: Send,
    Reduce: Send

impl<'acc, Accumulator, Input, Mapfold, Init, Reduce> Sync for MapfoldReduce<'acc, Accumulator, Input, Mapfold, Init, Reduce> where
    Accumulator: Sync,
    Init: Sync,
    Input: Sync,
    Mapfold: Sync,
    Reduce: Sync

impl<'acc, Accumulator, Input, Mapfold, Init, Reduce> Unpin for MapfoldReduce<'acc, Accumulator, Input, Mapfold, Init, Reduce> where
    Init: Unpin,
    Input: Unpin,
    Mapfold: Unpin,
    Reduce: Unpin

impl<'acc, Accumulator, Input, Mapfold, Init, Reduce> !UnwindSafe for MapfoldReduce<'acc, Accumulator, Input, Mapfold, Init, Reduce>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoParallelIterator for T where
    T: ParallelIterator
[src]

type Iter = T

The parallel iterator type that will be created.

type Item = <T as ParallelIterator>::Item

The type of item that the parallel iterator will produce.

impl<Input> ParallelIteratorExt for Input where
    Input: ParallelIterator
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.