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".