pub struct ParMap<I, O, M1, R = FixedChunkRunner>where
R: ParallelRunner,
I: ConcurrentIter,
O: Send + Sync,
M1: Fn(<I as ConcurrentIter>::Item) -> O + Send + Sync + Clone,{ /* private fields */ }
Expand description
A parallel iterator that maps inputs.
Trait Implementationsยง
Sourceยงimpl<I, O, M1, R> ParIter<R> for ParMap<I, O, M1, R>where
R: ParallelRunner,
I: ConcurrentIter,
O: Send + Sync,
M1: Fn(<I as ConcurrentIter>::Item) -> O + Send + Sync + Clone,
impl<I, O, M1, R> ParIter<R> for ParMap<I, O, M1, R>where
R: ParallelRunner,
I: ConcurrentIter,
O: Send + Sync,
M1: Fn(<I as ConcurrentIter>::Item) -> O + Send + Sync + Clone,
Sourceยงfn con_iter(&self) -> &impl ConcurrentIter
fn con_iter(&self) -> &impl ConcurrentIter
Returns a reference to the input concurrent iterator.
Sourceยงfn num_threads(self, num_threads: impl Into<NumThreads>) -> ParMap<I, O, M1, R>
fn num_threads(self, num_threads: impl Into<NumThreads>) -> ParMap<I, O, M1, R>
Sets the number of threads to be used in the parallel execution.
Integers can be used as the argument with the following mapping: Read more
Sourceยงfn chunk_size(self, chunk_size: impl Into<ChunkSize>) -> ParMap<I, O, M1, R>
fn chunk_size(self, chunk_size: impl Into<ChunkSize>) -> ParMap<I, O, M1, R>
Sets the number of elements to be pulled from the concurrent iterator during the
parallel execution. When integers are used as argument, the following mapping applies: Read more
Sourceยงfn iteration_order(self, collect: IterationOrder) -> ParMap<I, O, M1, R>
fn iteration_order(self, collect: IterationOrder) -> ParMap<I, O, M1, R>
Sets the iteration order of the parallel computation. Read more
Sourceยงfn with_runner<Q>(
self,
) -> impl ParIter<Q, Item = <ParMap<I, O, M1, R> as ParIter<R>>::Item>where
Q: ParallelRunner,
fn with_runner<Q>(
self,
) -> impl ParIter<Q, Item = <ParMap<I, O, M1, R> as ParIter<R>>::Item>where
Q: ParallelRunner,
Rather than the
DefaultRunner
, uses the parallel runner Q
which implements ParallelRunner
. Read moreSourceยงfn map<Out, Map>(self, map: Map) -> impl ParIter<R, Item = Out>
fn map<Out, Map>(self, map: Map) -> impl ParIter<R, Item = Out>
Takes a closure
map
and creates a parallel iterator which calls that closure on each element. Read moreSourceยงfn filter<Filter>(
self,
filter: Filter,
) -> impl ParIter<R, Item = <ParMap<I, O, M1, R> as ParIter<R>>::Item>
fn filter<Filter>( self, filter: Filter, ) -> impl ParIter<R, Item = <ParMap<I, O, M1, R> as ParIter<R>>::Item>
Creates an iterator which uses a closure
filter
to determine if an element should be yielded. Read moreSourceยงfn flat_map<IOut, FlatMap>(
self,
flat_map: FlatMap,
) -> impl ParIter<R, Item = <IOut as IntoIterator>::Item>
fn flat_map<IOut, FlatMap>( self, flat_map: FlatMap, ) -> impl ParIter<R, Item = <IOut as IntoIterator>::Item>
Creates an iterator that works like map, but flattens nested structure. Read more
Sourceยงfn filter_map<Out, FilterMap>(
self,
filter_map: FilterMap,
) -> impl ParIter<R, Item = Out>
fn filter_map<Out, FilterMap>( self, filter_map: FilterMap, ) -> impl ParIter<R, Item = Out>
Creates an iterator that both filters and maps. Read more
Sourceยงfn collect_into<C>(self, output: C) -> C
fn collect_into<C>(self, output: C) -> C
Collects all the items from an iterator into a collection. Read more
Sourceยงfn reduce<Reduce>(
self,
reduce: Reduce,
) -> Option<<ParMap<I, O, M1, R> as ParIter<R>>::Item>
fn reduce<Reduce>( self, reduce: Reduce, ) -> Option<<ParMap<I, O, M1, R> as ParIter<R>>::Item>
Reduces the elements to a single one, by repeatedly applying a reducing operation. Read more
Sourceยงfn first(self) -> Option<<ParMap<I, O, M1, R> as ParIter<R>>::Item>
fn first(self) -> Option<<ParMap<I, O, M1, R> as ParIter<R>>::Item>
Returns the first (or any) element of the iterator; returns None if it is empty. Read more
Sourceยงfn inspect<Operation>(
self,
operation: Operation,
) -> impl ParIter<R, Item = Self::Item>
fn inspect<Operation>( self, operation: Operation, ) -> impl ParIter<R, Item = Self::Item>
Does something with each element of an iterator, passing the value on. Read more
Sourceยงfn copied<'a, T>(self) -> impl ParIter<R, Item = T>
fn copied<'a, T>(self) -> impl ParIter<R, Item = T>
Creates an iterator which copies all of its elements. Read more
Sourceยงfn cloned<'a, T>(self) -> impl ParIter<R, Item = T>
fn cloned<'a, T>(self) -> impl ParIter<R, Item = T>
Creates an iterator which clones all of its elements. Read more
Sourceยงfn flatten(self) -> impl ParIter<R, Item = <Self::Item as IntoIterator>::Item>
fn flatten(self) -> impl ParIter<R, Item = <Self::Item as IntoIterator>::Item>
Creates an iterator that flattens nested structure. Read more
Sourceยงfn collect<C>(self) -> Cwhere
C: ParCollectInto<Self::Item>,
fn collect<C>(self) -> Cwhere
C: ParCollectInto<Self::Item>,
Transforms an iterator into a collection. Read more
Sourceยงfn all<Predicate>(self, predicate: Predicate) -> bool
fn all<Predicate>(self, predicate: Predicate) -> bool
Tests if every element of the iterator matches a predicate. Read more
Sourceยงfn any<Predicate>(self, predicate: Predicate) -> bool
fn any<Predicate>(self, predicate: Predicate) -> bool
Tests if any element of the iterator matches a predicate. Read more
Sourceยงfn count(self) -> usize
fn count(self) -> usize
Consumes the iterator, counting the number of iterations and returning it. Read more
Sourceยงfn for_each<Operation>(self, operation: Operation)
fn for_each<Operation>(self, operation: Operation)
Calls a closure on each element of an iterator. Read more
Sourceยงfn max_by<Compare>(self, compare: Compare) -> Option<Self::Item>
fn max_by<Compare>(self, compare: Compare) -> Option<Self::Item>
Returns the element that gives the maximum value with respect to the specified
compare
function. Read moreSourceยงfn max_by_key<Key, GetKey>(self, key: GetKey) -> Option<Self::Item>
fn max_by_key<Key, GetKey>(self, key: GetKey) -> Option<Self::Item>
Returns the element that gives the maximum value from the specified function. Read more
Sourceยงfn min_by<Compare>(self, compare: Compare) -> Option<Self::Item>
fn min_by<Compare>(self, compare: Compare) -> Option<Self::Item>
Returns the element that gives the minimum value with respect to the specified
compare
function. Read moreSourceยงfn min_by_key<Key, GetKey>(self, get_key: GetKey) -> Option<Self::Item>
fn min_by_key<Key, GetKey>(self, get_key: GetKey) -> Option<Self::Item>
Returns the element that gives the minimum value from the specified function. Read more
impl<I, O, M1, R> Send for ParMap<I, O, M1, R>where
R: ParallelRunner,
I: ConcurrentIter,
O: Send + Sync,
M1: Fn(<I as ConcurrentIter>::Item) -> O + Send + Sync + Clone,
impl<I, O, M1, R> Sync for ParMap<I, O, M1, R>where
R: ParallelRunner,
I: ConcurrentIter,
O: Send + Sync,
M1: Fn(<I as ConcurrentIter>::Item) -> O + Send + Sync + Clone,
Auto Trait Implementationsยง
impl<I, O, M1, R> Freeze for ParMap<I, O, M1, R>
impl<I, O, M1, R> RefUnwindSafe for ParMap<I, O, M1, R>
impl<I, O, M1, R> Unpin for ParMap<I, O, M1, R>
impl<I, O, M1, R> UnwindSafe for ParMap<I, O, M1, R>
Blanket Implementationsยง
Sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more