pub fn enumerate_split<Iter, T>(
iter: Iter,
split_value: T,
) -> EnumerateSplit<Iter, T> ⓘ
Expand description
Similar to enumerate but gives (usize, usize) where first is block number and second is block position (indexed by 0)
Can split on any possible T but useful to use T=char
, split_value='\n'
§Example
use enumerate_split::enumerate_split;
let mut input = enumerate_split("Some \n\nstring with a newline".chars(), '\n');
assert_eq!(input.next(), Some(('S', (0, 0))));
assert_eq!(input.next(), Some(('o', (0, 1))));
assert_eq!(input.next(), Some(('m', (0, 2))));
assert_eq!(input.next(), Some(('e', (0, 3))));
assert_eq!(input.next(), Some((' ', (0, 4))));
assert_eq!(input.next(), Some(('\n', (0, 5))));
assert_eq!(input.next(), Some(('\n', (1, 0))));
assert_eq!(input.next(), Some(('s', (2, 0))));