pub struct Par<I, R = FixedChunkRunner>where
R: ParallelRunner,
I: ConcurrentIter,{ /* private fields */ }
Expand description
A parallel iterator.
Trait Implementations§
Source§impl<I, R> ParIter<R> for Par<I, R>where
R: ParallelRunner,
I: ConcurrentIter,
impl<I, R> ParIter<R> for Par<I, R>where
R: ParallelRunner,
I: ConcurrentIter,
Source§type Item = <I as ConcurrentIter>::Item
type Item = <I as ConcurrentIter>::Item
Element type of the parallel iterator.
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>) -> Par<I, R>
fn num_threads(self, num_threads: impl Into<NumThreads>) -> Par<I, 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>) -> Par<I, R>
fn chunk_size(self, chunk_size: impl Into<ChunkSize>) -> Par<I, 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) -> Par<I, R>
fn iteration_order(self, collect: IterationOrder) -> Par<I, R>
Sets the iteration order of the parallel computation. Read more
Source§fn with_runner<Q>(
self,
) -> impl ParIter<Q, Item = <Par<I, R> as ParIter<R>>::Item>where
Q: ParallelRunner,
fn with_runner<Q>(
self,
) -> impl ParIter<Q, Item = <Par<I, 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 = <Par<I, R> as ParIter<R>>::Item>
fn filter<Filter>( self, filter: Filter, ) -> impl ParIter<R, Item = <Par<I, 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<<Par<I, R> as ParIter<R>>::Item>
fn reduce<Reduce>( self, reduce: Reduce, ) -> Option<<Par<I, 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<<Par<I, R> as ParIter<R>>::Item>
fn first(self) -> Option<<Par<I, 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, R> Send for Par<I, R>where
R: ParallelRunner,
I: ConcurrentIter,
impl<I, R> Sync for Par<I, R>where
R: ParallelRunner,
I: ConcurrentIter,
Auto Trait Implementations§
impl<I, R> Freeze for Par<I, R>where
I: Freeze,
impl<I, R> RefUnwindSafe for Par<I, R>where
I: RefUnwindSafe,
R: RefUnwindSafe,
impl<I, R> Unpin for Par<I, R>
impl<I, R> UnwindSafe for Par<I, R>where
I: UnwindSafe,
R: UnwindSafe,
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