Struct rayon::par_iter::vec::VecIter
[−]
[src]
pub struct VecIter<T: Send> { // some fields omitted }
Trait Implementations
impl<T: Send> ParallelIterator for VecIter<T>
[src]
type Item = T
fn drive_unindexed<C>(self, consumer: C) -> C::Result where C: UnindexedConsumer<Self::Item>
fn weight(self, scale: f64) -> Weight<Self>
Indicates the relative "weight" of producing each item in this parallel iterator. A higher weight will cause finer-grained parallel subtasks. 1.0 indicates something very cheap and uniform, like copying a value out of an array, or computing x + 1
. If your tasks are either very expensive, or very unpredictable, you are better off with higher values. See also weight_max
, which is a convenient shorthand to force the finest grained parallel execution posible. Tuning this value should not affect correctness but can improve (or hurt) performance. Read more
fn weight_max(self) -> Weight<Self>
Shorthand for self.weight(f64::INFINITY)
. This forces the smallest granularity of parallel execution, which makes sense when your parallel tasks are (potentially) very expensive to execute. Read more
fn for_each<OP>(self, op: OP) where OP: Fn(Self::Item) + Sync
Executes OP
on each item produced by the iterator, in parallel.
fn map<MAP_OP, R>(self, map_op: MAP_OP) -> Map<Self, MAP_OP> where MAP_OP: Fn(Self::Item) -> R
Applies map_op
to each item of his iterator, producing a new iterator with the results. Read more
fn filter<FILTER_OP>(self, filter_op: FILTER_OP) -> Filter<Self, FILTER_OP> where FILTER_OP: Fn(&Self::Item) -> bool
Applies map_op
to each item of his iterator, producing a new iterator with the results. Read more
fn filter_map<FILTER_OP, R>(self, filter_op: FILTER_OP) -> FilterMap<Self, FILTER_OP> where FILTER_OP: Fn(Self::Item) -> Option<R>
Applies map_op
to each item of his iterator, producing a new iterator with the results. Read more
fn flat_map<MAP_OP, PI>(self, map_op: MAP_OP) -> FlatMap<Self, MAP_OP> where MAP_OP: Fn(Self::Item) -> PI, PI: ParallelIterator
Applies map_op
to each item of his iterator, producing a new iterator with the results. Read more
fn reduce_with<OP>(self, op: OP) -> Option<Self::Item> where OP: Fn(Self::Item, Self::Item) -> Self::Item + Sync
Reduces the items in the iterator into one item using op
. See also sum
, mul
, min
, etc, which are slightly more efficient. Returns None
if the iterator is empty. Read more
fn sum(self) -> Self::Item where SumOp: ReduceOp<Self::Item>
Sums up the items in the iterator. Read more
fn mul(self) -> Self::Item where MulOp: ReduceOp<Self::Item>
Multiplies all the items in the iterator. Read more
fn min(self) -> Self::Item where MinOp: ReduceOp<Self::Item>
Computes the minimum of all the items in the iterator. Read more
fn max(self) -> Self::Item where MaxOp: ReduceOp<Self::Item>
Computes the maximum of all the items in the iterator. Read more
fn reduce<REDUCE_OP>(self, reduce_op: &REDUCE_OP) -> Self::Item where REDUCE_OP: ReduceOp<Self::Item>
Reduces the items using the given "reduce operator". You may prefer reduce_with
for a simpler interface. Read more
impl<T: Send> BoundedParallelIterator for VecIter<T>
[src]
fn upper_bound(&mut self) -> usize
fn drive<C>(self, consumer: C) -> C::Result where C: Consumer<Self::Item>
impl<T: Send> ExactParallelIterator for VecIter<T>
[src]
fn len(&mut self) -> usize
Produces an exact count of how many items this iterator will produce, presuming no panic occurs. Read more
fn collect_into(self, target: &mut Vec<Self::Item>)
Collects the results of the iterator into the specified vector. The vector is always truncated before execution begins. If possible, reusing the vector across calls can lead to better performance since it reuses the same backing buffer. Read more
impl<T: Send> IndexedParallelIterator for VecIter<T>
[src]
fn with_producer<CB>(self, callback: CB) -> CB::Output where CB: ProducerCallback<Self::Item>
fn zip<ZIP_OP>(self, zip_op: ZIP_OP) -> ZipIter<Self, ZIP_OP::Iter> where ZIP_OP: IntoParallelIterator, ZIP_OP::Iter: IndexedParallelIterator
Iterate over tuples (A, B)
, where the items A
are from this iterator and B
are from the iterator given as argument. Like the zip
method on ordinary iterators, if the two iterators are of unequal length, you only get the items they have in common. Read more
fn enumerate(self) -> Enumerate<Self>
Yields an index along with each item.