[][src]Struct mop_structs::utils::ParallelProducerWrapper

pub struct ParallelProducerWrapper<I>(_);

Trait Implementations

impl<'a, T> IntoIterator for ParallelProducerWrapper<CsrMatrixRowIter<'a, T>>[src]

type IntoIter = CsrMatrixRowIter<'a, T>

Which kind of iterator are we turning this into?

type Item = <Self::IntoIter as Iterator>::Item

The type of the elements being iterated over.

impl<'a, T> IntoIterator for ParallelProducerWrapper<CsrMatrixRowIterMut<'a, T>>[src]

type IntoIter = CsrMatrixRowIterMut<'a, T>

Which kind of iterator are we turning this into?

type Item = <Self::IntoIter as Iterator>::Item

The type of the elements being iterated over.

impl<'a, T> IntoIterator for ParallelProducerWrapper<DrMatrixRowIter<'a, T>>[src]

type IntoIter = DrMatrixRowIter<'a, T>

Which kind of iterator are we turning this into?

type Item = <Self::IntoIter as Iterator>::Item

The type of the elements being iterated over.

impl<'a, T> IntoIterator for ParallelProducerWrapper<DrMatrixRowIterMut<'a, T>>[src]

type IntoIter = DrMatrixRowIterMut<'a, T>

Which kind of iterator are we turning this into?

type Item = <Self::IntoIter as Iterator>::Item

The type of the elements being iterated over.

impl<I: Debug> Debug for ParallelProducerWrapper<I>[src]

impl<'a, T> Producer for ParallelProducerWrapper<CsrMatrixRowIter<'a, T>>[src]

type IntoIter = CsrMatrixRowIter<'a, T>

The type of iterator we will become.

type Item = <Self::IntoIter as Iterator>::Item

The type of item that will be produced by this producer once it is converted into an iterator. Read more

fn min_len(&self) -> usize[src]

The minimum number of items that we will process sequentially. Defaults to 1, which means that we will split all the way down to a single item. This can be raised higher using the [with_min_len] method, which will force us to create sequential tasks at a larger granularity. Note that Rayon automatically normally attempts to adjust the size of parallel splits to reduce overhead, so this should not be needed. Read more

fn max_len(&self) -> usize[src]

The maximum number of items that we will process sequentially. Defaults to MAX, which means that we can choose not to split at all. This can be lowered using the [with_max_len] method, which will force us to create more parallel tasks. Note that Rayon automatically normally attempts to adjust the size of parallel splits to reduce overhead, so this should not be needed. Read more

fn fold_with<F>(self, folder: F) -> F where
    F: Folder<Self::Item>, 
[src]

Iterate the producer, feeding each element to folder, and stop when the folder is full (or all elements have been consumed). Read more

impl<'a, T> Producer for ParallelProducerWrapper<CsrMatrixRowIterMut<'a, T>>[src]

type IntoIter = CsrMatrixRowIterMut<'a, T>

The type of iterator we will become.

type Item = <Self::IntoIter as Iterator>::Item

The type of item that will be produced by this producer once it is converted into an iterator. Read more

fn min_len(&self) -> usize[src]

The minimum number of items that we will process sequentially. Defaults to 1, which means that we will split all the way down to a single item. This can be raised higher using the [with_min_len] method, which will force us to create sequential tasks at a larger granularity. Note that Rayon automatically normally attempts to adjust the size of parallel splits to reduce overhead, so this should not be needed. Read more

fn max_len(&self) -> usize[src]

The maximum number of items that we will process sequentially. Defaults to MAX, which means that we can choose not to split at all. This can be lowered using the [with_max_len] method, which will force us to create more parallel tasks. Note that Rayon automatically normally attempts to adjust the size of parallel splits to reduce overhead, so this should not be needed. Read more

fn fold_with<F>(self, folder: F) -> F where
    F: Folder<Self::Item>, 
[src]

Iterate the producer, feeding each element to folder, and stop when the folder is full (or all elements have been consumed). Read more

impl<'a, T> Producer for ParallelProducerWrapper<DrMatrixRowIter<'a, T>>[src]

type IntoIter = DrMatrixRowIter<'a, T>

The type of iterator we will become.

type Item = <Self::IntoIter as Iterator>::Item

The type of item that will be produced by this producer once it is converted into an iterator. Read more

fn min_len(&self) -> usize[src]

The minimum number of items that we will process sequentially. Defaults to 1, which means that we will split all the way down to a single item. This can be raised higher using the [with_min_len] method, which will force us to create sequential tasks at a larger granularity. Note that Rayon automatically normally attempts to adjust the size of parallel splits to reduce overhead, so this should not be needed. Read more

fn max_len(&self) -> usize[src]

The maximum number of items that we will process sequentially. Defaults to MAX, which means that we can choose not to split at all. This can be lowered using the [with_max_len] method, which will force us to create more parallel tasks. Note that Rayon automatically normally attempts to adjust the size of parallel splits to reduce overhead, so this should not be needed. Read more

fn fold_with<F>(self, folder: F) -> F where
    F: Folder<Self::Item>, 
[src]

Iterate the producer, feeding each element to folder, and stop when the folder is full (or all elements have been consumed). Read more

impl<'a, T> Producer for ParallelProducerWrapper<DrMatrixRowIterMut<'a, T>>[src]

type IntoIter = DrMatrixRowIterMut<'a, T>

The type of iterator we will become.

type Item = <Self::IntoIter as Iterator>::Item

The type of item that will be produced by this producer once it is converted into an iterator. Read more

fn min_len(&self) -> usize[src]

The minimum number of items that we will process sequentially. Defaults to 1, which means that we will split all the way down to a single item. This can be raised higher using the [with_min_len] method, which will force us to create sequential tasks at a larger granularity. Note that Rayon automatically normally attempts to adjust the size of parallel splits to reduce overhead, so this should not be needed. Read more

fn max_len(&self) -> usize[src]

The maximum number of items that we will process sequentially. Defaults to MAX, which means that we can choose not to split at all. This can be lowered using the [with_max_len] method, which will force us to create more parallel tasks. Note that Rayon automatically normally attempts to adjust the size of parallel splits to reduce overhead, so this should not be needed. Read more

fn fold_with<F>(self, folder: F) -> F where
    F: Folder<Self::Item>, 
[src]

Iterate the producer, feeding each element to folder, and stop when the folder is full (or all elements have been consumed). Read more

Auto Trait Implementations

impl<I> Send for ParallelProducerWrapper<I> where
    I: Send

impl<I> Sync for ParallelProducerWrapper<I> where
    I: Sync

Blanket Implementations

impl<T> From for T[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

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

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.