Trait iter_columns::prelude::ColumnsIntoIterVecTrait [−][src]
pub trait ColumnsIntoIterVecTrait<T>: Iterator<Item = Vec<T>> { fn columns(self) -> ColumnsIntoIterVec<T>
where
Self: Sized, { ... } fn columns_options(self) -> ColumnsOptionsIntoIterVec<T>
where
Self: Sized, { ... } }
Provided methods
Iterate over the columns.
Examples
Basic usage:
use iter_columns::prelude::*; let v = vec![ vec![1, 2, 3], vec![4, 5, 6], ]; let mut col_iter = v.into_iter().columns(); assert_eq!(Some(vec![1, 4]), col_iter.next()); assert_eq!(Some(vec![2, 5]), col_iter.next()); assert_eq!(Some(vec![3, 6]), col_iter.next()); assert_eq!(None, col_iter.next());
fn columns_options(self) -> ColumnsOptionsIntoIterVec<T> where
Self: Sized,
fn columns_options(self) -> ColumnsOptionsIntoIterVec<T> where
Self: Sized,
Iterate over the columns with the cells wrapped in Option
s.
Might be useful, if you have an inconsistent column length.
Examples
Basic usage:
use iter_columns::prelude::*; let v = vec![ vec![1, 2], vec![4, 5, 6], ]; let mut col_iter = v.into_iter().columns_options(); assert_eq!(Some(vec![Some(1), Some(4)]), col_iter.next()); assert_eq!(Some(vec![Some(2), Some(5)]), col_iter.next()); assert_eq!(Some(vec![None, Some(6)]), col_iter.next()); assert_eq!(None, col_iter.next());