pure-iter

Crates.iopure-iter
lib.rspure-iter
version0.1.1
created_at2025-06-09 04:49:14.214508+00
updated_at2025-06-09 04:57:34.205092+00
descriptionIterator adapter without side-effects, possible better performance
homepage
repositoryhttps://github.com/A4-Tacks/pure-iter-rs
max_upload_size
id1705499
size8,071
A4-Tacks (A4-Tacks)

documentation

README

Iterator adapter without side-effects, possible better performance

Examples

use std::sync::atomic::{AtomicU32, Ordering::*};
use pure_iter::PureIterExt;

let mut a = AtomicU32::new(0);
let mut b = AtomicU32::new(0);

let c = (0..3).map(|_| a.fetch_add(1, Release)).nth(2);
let d = (0..3).pure_map(|_| b.fetch_add(1, Release)).nth(2);

assert_eq!(c, Some(2));
assert_eq!(d, Some(0));

assert_eq!(a.load(Acquire), 3);
assert_eq!(b.load(Acquire), 1);
Commit count: 2

cargo fmt