orx_iterable/transformations/
enumerated.rs

1use crate::Iterable;
2
3/// Wraps an `Iterable` and creates a new `Iterable` which yields the element indices
4/// together with the elements.
5pub struct Enumerated<I>
6where
7    I: Iterable,
8{
9    pub(crate) it: I,
10}
11
12impl<I> Iterable for Enumerated<I>
13where
14    I: Iterable,
15{
16    type Item = (usize, I::Item);
17
18    type Iter = core::iter::Enumerate<I::Iter>;
19
20    fn iter(&self) -> Self::Iter {
21        self.it.iter().enumerate()
22    }
23}