Trait rayon::par_iter::IndexedParallelIterator
[−]
[src]
pub trait IndexedParallelIterator: ExactParallelIterator {
fn zip<ZIP_OP>(self, zip_op: ZIP_OP) -> ZipIter<Self, ZIP_OP::Iter> where ZIP_OP: IntoParallelIterator, ZIP_OP::Iter: IndexedParallelIterator { ... }
fn enumerate(self) -> Enumerate<Self> { ... }
}
An iterator that supports "random access" to its data, meaning that you can split it at arbitrary indices and draw data from those points.
Provided Methods
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.
fn enumerate(self) -> Enumerate<Self>
Yields an index along with each item.
Implementors
impl<M> IndexedParallelIterator for Enumerate<M> where M: IndexedParallelIterator
impl<'data, T: Sync + 'data> IndexedParallelIterator for SliceIter<'data, T>
impl<'data, T: Send + 'data> IndexedParallelIterator for SliceIterMut<'data, T>
impl<M, MAP_OP, R> IndexedParallelIterator for Map<M, MAP_OP> where M: IndexedParallelIterator, MAP_OP: Fn(M::Item) -> R + Sync, R: Send
impl<M: IndexedParallelIterator> IndexedParallelIterator for Weight<M>
impl<A, B> IndexedParallelIterator for ZipIter<A, B> where A: IndexedParallelIterator, B: IndexedParallelIterator
impl IndexedParallelIterator for RangeIter<u8>
impl IndexedParallelIterator for RangeIter<u16>
impl IndexedParallelIterator for RangeIter<u32>
impl IndexedParallelIterator for RangeIter<usize>
impl IndexedParallelIterator for RangeIter<i8>
impl IndexedParallelIterator for RangeIter<i16>
impl IndexedParallelIterator for RangeIter<i32>
impl IndexedParallelIterator for RangeIter<isize>
impl<T: Send> IndexedParallelIterator for VecIter<T>