[][src]Trait valora::prelude::IntoParallelIterator

pub trait IntoParallelIterator where
    <Self::Iter as ParallelIterator>::Item == Self::Item
{ type Iter: ParallelIterator; type Item: Send; fn into_par_iter(self) -> Self::Iter; }

IntoParallelIterator implements the conversion to a ParallelIterator.

By implementing IntoParallelIterator for a type, you define how it will transformed into an iterator. This is a parallel version of the standard library's std::iter::IntoIterator trait.

Associated Types

type Iter: ParallelIterator

The parallel iterator type that will be created.

type Item: Send

The type of item that the parallel iterator will produce.

Loading content...

Required methods

fn into_par_iter(self) -> Self::Iter

Converts self into a parallel iterator.

Examples

use rayon::prelude::*;

println!("counting in parallel:");
(0..100).into_par_iter()
    .for_each(|i| println!("{}", i));

This conversion is often implicit for arguments to methods like zip.

use rayon::prelude::*;

let v: Vec<_> = (0..5).into_par_iter().zip(5..10).collect();
assert_eq!(v, [(0, 5), (1, 6), (2, 7), (3, 8), (4, 9)]);
Loading content...

Implementations on Foreign Types

impl<'data, T> IntoParallelIterator for &'data Vec<T> where
    T: 'data + Sync
[src]

type Item = &'data T

type Iter = Iter<'data, T>

impl<'a, T, E> IntoParallelIterator for &'a mut Result<T, E> where
    T: Send
[src]

type Item = &'a mut T

type Iter = IterMut<'a, T>

impl<T> IntoParallelIterator for BTreeSet<T> where
    T: Send + Ord
[src]

impl<T> IntoParallelIterator for Range<T> where
    Iter<T>: ParallelIterator
[src]

impl<'a, T> IntoParallelIterator for &'a LinkedList<T> where
    T: Sync
[src]

type Item = <&'a LinkedList<T> as IntoIterator>::Item

type Iter = Iter<'a, T>

impl<T> IntoParallelIterator for LinkedList<T> where
    T: Send
[src]

impl<'a, T> IntoParallelIterator for &'a VecDeque<T> where
    T: Sync
[src]

type Item = &'a T

type Iter = Iter<'a, T>

impl<T> IntoParallelIterator for Option<T> where
    T: Send
[src]

type Item = T

type Iter = IntoIter<T>

impl<K, V> IntoParallelIterator for BTreeMap<K, V> where
    K: Send + Ord,
    V: Send
[src]

type Item = <BTreeMap<K, V> as IntoIterator>::Item

type Iter = IntoIter<K, V>

impl<T> IntoParallelIterator for RangeInclusive<T> where
    Iter<T>: ParallelIterator
[src]

impl<'a, K, V, S> IntoParallelIterator for &'a mut HashMap<K, V, S> where
    K: Sync + Eq + Hash,
    S: BuildHasher,
    V: Send
[src]

type Item = <&'a mut HashMap<K, V, S> as IntoIterator>::Item

type Iter = IterMut<'a, K, V>

impl<'a, K, V> IntoParallelIterator for &'a BTreeMap<K, V> where
    K: Sync + Ord,
    V: Sync
[src]

type Item = <&'a BTreeMap<K, V> as IntoIterator>::Item

type Iter = Iter<'a, K, V>

impl<T, S> IntoParallelIterator for HashSet<T, S> where
    S: BuildHasher,
    T: Send + Eq + Hash
[src]

type Item = <HashSet<T, S> as IntoIterator>::Item

type Iter = IntoIter<T>

impl<'data, T> IntoParallelIterator for &'data mut Vec<T> where
    T: 'data + Send
[src]

type Item = &'data mut T

type Iter = IterMut<'data, T>

impl<'a, T> IntoParallelIterator for &'a BinaryHeap<T> where
    T: Sync + Ord
[src]

type Item = <&'a BinaryHeap<T> as IntoIterator>::Item

type Iter = Iter<'a, T>

impl<'a, T> IntoParallelIterator for &'a BTreeSet<T> where
    T: Sync + Ord
[src]

type Item = <&'a BTreeSet<T> as IntoIterator>::Item

type Iter = Iter<'a, T>

impl<'a, K, V, S> IntoParallelIterator for &'a HashMap<K, V, S> where
    K: Sync + Eq + Hash,
    S: BuildHasher,
    V: Sync
[src]

type Item = <&'a HashMap<K, V, S> as IntoIterator>::Item

type Iter = Iter<'a, K, V>

impl<K, V, S> IntoParallelIterator for HashMap<K, V, S> where
    K: Send + Eq + Hash,
    S: BuildHasher,
    V: Send
[src]

type Item = <HashMap<K, V, S> as IntoIterator>::Item

type Iter = IntoIter<K, V>

impl<'a, T> IntoParallelIterator for &'a mut VecDeque<T> where
    T: Send
[src]

type Item = &'a mut T

type Iter = IterMut<'a, T>

impl<'a, T, E> IntoParallelIterator for &'a Result<T, E> where
    T: Sync
[src]

type Item = &'a T

type Iter = Iter<'a, T>

impl<'a, T> IntoParallelIterator for &'a mut Option<T> where
    T: Send
[src]

type Item = &'a mut T

type Iter = IterMut<'a, T>

impl<'data, T> IntoParallelIterator for &'data mut [T] where
    T: 'data + Send
[src]

impl<T> IntoParallelIterator for Vec<T> where
    T: Send
[src]

type Item = T

type Iter = IntoIter<T>

impl<'a, T> IntoParallelIterator for &'a Option<T> where
    T: Sync
[src]

type Item = &'a T

type Iter = Iter<'a, T>

impl<T> IntoParallelIterator for BinaryHeap<T> where
    T: Send + Ord
[src]

impl<'a, T, S> IntoParallelIterator for &'a HashSet<T, S> where
    S: BuildHasher,
    T: Sync + Eq + Hash
[src]

type Item = <&'a HashSet<T, S> as IntoIterator>::Item

type Iter = Iter<'a, T>

impl<'data, T> IntoParallelIterator for &'data [T] where
    T: 'data + Sync
[src]

type Item = &'data T

type Iter = Iter<'data, T>

impl<T> IntoParallelIterator for VecDeque<T> where
    T: Send
[src]

impl<T, E> IntoParallelIterator for Result<T, E> where
    T: Send
[src]

type Item = T

type Iter = IntoIter<T>

impl<'a, K, V> IntoParallelIterator for &'a mut BTreeMap<K, V> where
    K: Sync + Ord,
    V: Send
[src]

type Item = <&'a mut BTreeMap<K, V> as IntoIterator>::Item

type Iter = IterMut<'a, K, V>

impl<'a, T> IntoParallelIterator for &'a mut LinkedList<T> where
    T: Send
[src]

type Item = <&'a mut LinkedList<T> as IntoIterator>::Item

type Iter = IterMut<'a, T>

Loading content...

Implementors

impl<T> IntoParallelIterator for T where
    T: ParallelIterator
[src]

type Iter = T

type Item = <T as ParallelIterator>::Item

Loading content...