diff options
Diffstat (limited to 'src/grid.rs')
-rw-r--r-- | src/grid.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/grid.rs b/src/grid.rs index 1c5b94c4..af3a8ae4 100644 --- a/src/grid.rs +++ b/src/grid.rs @@ -146,6 +146,10 @@ impl<T> Grid<T> { self.cols } + pub fn iter_rows(&self) -> slice::Iter<Row<T>> { + self.raw.iter() + } + #[inline] pub fn scroll_down(&mut self, region: Range<index::Line>, positions: index::Line) { for line in IndexRange(region).rev() { @@ -334,6 +338,16 @@ impl<T> Row<T> { } } +impl<'a, T> IntoIterator for &'a Grid<T> { + type Item = &'a Row<T>; + type IntoIter = slice::Iter<'a, Row<T>>; + + #[inline] + fn into_iter(self) -> slice::Iter<'a, Row<T>> { + self.raw.iter() + } +} + impl<'a, T> IntoIterator for &'a Row<T> { type Item = &'a T; type IntoIter = slice::Iter<'a, T>; |