Trait dfdx::data::IteratorCollateExt
source · pub trait IteratorCollateExt: Iterator {
// Provided method
fn collate(self) -> Collator<Self>
where Self: Sized { ... }
}
Provided Methods§
sourcefn collate(self) -> Collator<Self>where
Self: Sized,
fn collate(self) -> Collator<Self>where Self: Sized,
Collates (unzips) items - very similar to std::iter::Iterator::unzip, but works on items that are Vecs or arrays
For example:
- An item of
Vec<(usize, usize)>
becomes(Vec<usize>, Vec<usize>)
- An item of
[(usize, usize); N]
becomes([usize; N], [usize; N]
Example implementations:
let data = [[('a', 'b'); 10], [('c', 'd'); 10], [('e', 'f'); 10]];
// we use collate to transform each batch:
let mut iter = data.into_iter().collate();
assert_eq!(iter.next().unwrap(), (['a'; 10], ['b'; 10]));
assert_eq!(iter.next().unwrap(), (['c'; 10], ['d'; 10]));
assert_eq!(iter.next().unwrap(), (['e'; 10], ['f'; 10]));