Expand description
Extra iterator methods.
To extend Iterator
with methods in this crate, import the Iterflow
trait:
use iter_flow::Iterflow;
Now, new methods like and_then
are available on all Result’s iterators:
let it = (0..4)
.map(|n| if n == 0 { Err("invalid!") } else { Ok(n - 1) })
.and_then(|n| if n > 0 { Ok(n - 1) } else { Err("illegal!") })
.map_ok(|n| (n + 1) * 2)
.flat_map_ok(|n| (0..n));
iter_flow::assert_equal(
it,
vec![
Err("invalid!"),
Err("illegal!"),
Ok(0),
Ok(1),
Ok(0),
Ok(1),
Ok(2),
Ok(3),
],
);
Modules§
- structs
- The concrete iterator types.
Traits§
Functions§
- assert_
equal - Assert that two iterables produce equal sequences, with the same
semantics as
equal(a, b)
.