alternating-iter 0.3.1

Provide an iterator adaptor which alternate between two iterators.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pub(crate) fn min_and_1(i: usize, j: usize, last_i: bool) -> (usize, bool) {
    use core::cmp::Ordering;

    match i.cmp(&j) {
        Ordering::Less => (i, last_i),
        Ordering::Equal => (i, false),
        Ordering::Greater => (j, !last_i),
    }
}
pub(crate) fn saturating((min, add_one): (usize, bool)) -> usize {
    min.saturating_mul(2).saturating_add(add_one as usize)
}
pub(crate) fn checked((min, add_one): (usize, bool)) -> Option<usize> {
    min.checked_mul(2)
        .and_then(|min| min.checked_add(add_one as usize))
}