Trait IntoParallelRefMutIterator

trait IntoParallelRefMutIterator<'data>

IntoParallelRefMutIterator implements the conversion to a ParallelIterator, providing mutable references to the data.

This is a parallel version of the iter_mut() method defined by various collections.

This trait is automatically implemented for I where &mut I: IntoParallelIterator. In most cases, users will want to implement IntoParallelIterator rather than implement this trait directly.

Associated Types

type Iter: TraitBound { trait_: Path { path: "ParallelIterator", id: Id(20), args: Some(AngleBracketed { args: [], constraints: [AssocItemConstraint { name: "Item", args: None, binding: Equality(Type(QualifiedPath { name: "Item", args: None, self_type: Generic("Self"), trait_: Some(Path { path: "", id: Id(2591), args: None }) })) }] }) }, generic_params: [], modifier: None }

The type of iterator that will be created.

type Item: TraitBound { trait_: Path { path: "Send", id: Id(6), args: None }, generic_params: [], modifier: None } + Outlives("'data")

The type of item that will be produced; this is typically an &'data mut T reference.

Required Methods

fn par_iter_mut(self: &'data mut Self) -> <Self as >::Iter

Creates the parallel iterator from self.

Examples

use rayon::prelude::*;

let mut v = vec![0usize; 5];
v.par_iter_mut().enumerate().for_each(|(i, x)| *x = i);
assert_eq!(v, [0, 1, 2, 3, 4]);

Implementors