Struct ndsparse::ParallelProducerWrapper [−][src]
pub struct ParallelProducerWrapper<I>(_);
Expand description
Parallel producer for Rayon implementation. This is mostly an internal detail.
Trait Implementations
impl<'a, T, const D: usize> IntoIterator for ParallelProducerWrapper<CslLineIterRef<'a, T, D>> where
T: 'a,
impl<'a, T, const D: usize> IntoIterator for ParallelProducerWrapper<CslLineIterRef<'a, T, D>> where
T: 'a,
impl<'a, T, const D: usize> IntoIterator for ParallelProducerWrapper<CslLineIterMut<'a, T, D>> where
T: 'a,
impl<'a, T, const D: usize> IntoIterator for ParallelProducerWrapper<CslLineIterMut<'a, T, D>> where
T: 'a,
impl<'a, T, const D: usize> Producer for ParallelProducerWrapper<CslLineIterRef<'a, T, D>> where
T: Send + Sync + 'a,
impl<'a, T, const D: usize> Producer for ParallelProducerWrapper<CslLineIterRef<'a, T, D>> where
T: Send + Sync + 'a,
type IntoIter = CslLineIterRef<'a, T, D>
type IntoIter = CslLineIterRef<'a, T, D>
The type of iterator we will become.
The type of item that will be produced by this producer once it is converted into an iterator. Read more
Convert self
into an iterator; at this point, no more parallel splits
are possible. Read more
Split into two producers; one produces items 0..index
, the
other index..N
. Index must be less than or equal to N
. Read more
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
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
impl<'a, T, const D: usize> Producer for ParallelProducerWrapper<CslLineIterMut<'a, T, D>> where
T: Send + Sync + 'a,
impl<'a, T, const D: usize> Producer for ParallelProducerWrapper<CslLineIterMut<'a, T, D>> where
T: Send + Sync + 'a,
type IntoIter = CslLineIterMut<'a, T, D>
type IntoIter = CslLineIterMut<'a, T, D>
The type of iterator we will become.
The type of item that will be produced by this producer once it is converted into an iterator. Read more
Convert self
into an iterator; at this point, no more parallel splits
are possible. Read more
Split into two producers; one produces items 0..index
, the
other index..N
. Index must be less than or equal to N
. Read more
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
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
Auto Trait Implementations
impl<I> RefUnwindSafe for ParallelProducerWrapper<I> where
I: RefUnwindSafe,
impl<I> Send for ParallelProducerWrapper<I> where
I: Send,
impl<I> Sync for ParallelProducerWrapper<I> where
I: Sync,
impl<I> Unpin for ParallelProducerWrapper<I> where
I: Unpin,
impl<I> UnwindSafe for ParallelProducerWrapper<I> where
I: UnwindSafe,