Macro itertools::izip [] [src]

macro_rules! izip {
    ($I:expr) => { ... };
    ($($I:expr),*) => { ... };
}

Create an iterator running multiple iterators in lockstep.

The izip! iterator yields elements until any subiterator returns None.

Iterator element type is like (A, B, ..., E) if formed from iterators (I, J, ..., M) implementing I: Iterator<A>, J: Iterator<B>, ..., M: Iterator<E>

#[macro_use] extern crate itertools;

// Iterate over three sequences side-by-side
let mut xs = [0, 0, 0];
let ys = [69, 107, 101];

for (i, a, b) in izip!(0..100, &mut xs, &ys) {
   *a = i ^ *b;
}

assert_eq!(xs, [69, 106, 103]);Run