pub trait ParallelIterator: Sized {
type Item;
Show 13 methods
// Required methods
fn for_each<F>(self, f: F)
where F: FnMut(Self::Item);
fn map<F, R>(self, f: F) -> Map<Self, F>
where F: Fn(Self::Item) -> R;
fn filter<F>(self, f: F) -> Filter<Self, F>
where F: Fn(&Self::Item) -> bool;
fn collect<C>(self) -> C
where C: FromParallelIterator<Self::Item>;
fn sum<S>(self) -> S
where S: Sum<Self::Item>;
fn reduce<F>(self, reduce_op: F) -> Option<Self::Item>
where F: Fn(Self::Item, Self::Item) -> Self::Item;
fn find_any<F>(self, predicate: F) -> Option<Self::Item>
where F: Fn(&Self::Item) -> bool;
fn all<F>(self, predicate: F) -> bool
where F: Fn(Self::Item) -> bool;
fn any<F>(self, predicate: F) -> bool
where F: Fn(Self::Item) -> bool;
// Provided methods
fn fold<T, ID, F>(self, identity: ID, fold_op: F) -> Fold<Self, ID, F>
where ID: Fn() -> T,
F: Fn(T, Self::Item) -> T { ... }
fn cloned<'a, T>(self) -> Cloned<Self>
where Self: ParallelIterator<Item = &'a T>,
T: 'a + Clone { ... }
fn count<F>(self, predicate: F) -> usize
where F: Fn(&Self::Item) -> bool { ... }
fn partition<F>(self, predicate: F) -> (Vec<Self::Item>, Vec<Self::Item>)
where F: Fn(&Self::Item) -> bool { ... }
}Expand description
Trait for parallel iterators
Required Associated Types§
Required Methods§
Sourcefn collect<C>(self) -> Cwhere
C: FromParallelIterator<Self::Item>,
fn collect<C>(self) -> Cwhere
C: FromParallelIterator<Self::Item>,
Collect into a collection
Sourcefn find_any<F>(self, predicate: F) -> Option<Self::Item>
fn find_any<F>(self, predicate: F) -> Option<Self::Item>
Find any item that matches the predicate
Provided Methods§
Sourcefn fold<T, ID, F>(self, identity: ID, fold_op: F) -> Fold<Self, ID, F>
fn fold<T, ID, F>(self, identity: ID, fold_op: F) -> Fold<Self, ID, F>
Fold items with an identity value and accumulator function
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.