rayon::iter

Function once

source
pub fn once<T: Send>(item: T) -> Once<T>
Expand description

Creates a parallel iterator that produces an element exactly once.

This admits no parallelism on its own, but it could be chained to existing parallel iterators to extend their contents, or otherwise used for any code that deals with generic parallel iterators.

ยงExamples

use rayon::prelude::*;
use rayon::iter::once;

let pi = (0..1234).into_par_iter()
    .chain(once(-1))
    .chain(1234..10_000);

assert_eq!(pi.clone().count(), 10_001);
assert_eq!(pi.clone().filter(|&x| x < 0).count(), 1);
assert_eq!(pi.position_any(|x| x < 0), Some(1234));