aboutsummaryrefslogtreecommitdiff
path: root/src/grid/row.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/grid/row.rs')
-rw-r--r--src/grid/row.rs43
1 files changed, 17 insertions, 26 deletions
diff --git a/src/grid/row.rs b/src/grid/row.rs
index 8711d04f..4b355a56 100644
--- a/src/grid/row.rs
+++ b/src/grid/row.rs
@@ -108,33 +108,8 @@ impl<T> IndexMut<Column> for Row<T> {
}
}
-macro_rules! row_index_range {
- ($range:ty) => {
- impl<T> Index<$range> for Row<T> {
- type Output = [T];
-
- #[inline]
- fn index(&self, index: $range) -> &[T] {
- &self.0[index]
- }
- }
-
- impl<T> IndexMut<$range> for Row<T> {
- #[inline]
- fn index_mut(&mut self, index: $range) -> &mut [T] {
- &mut self.0[index]
- }
- }
- }
-}
-
-row_index_range!(Range<usize>);
-row_index_range!(RangeTo<usize>);
-row_index_range!(RangeFrom<usize>);
-row_index_range!(RangeFull);
-
// -----------------------------------------------------------------------------
-// Column ranges for Row
+// Index ranges of columns
// -----------------------------------------------------------------------------
impl<T> Index<Range<Column>> for Row<T> {
@@ -184,3 +159,19 @@ impl<T> IndexMut<RangeFrom<Column>> for Row<T> {
&mut self.0[(index.start.0)..]
}
}
+
+impl<T> Index<RangeFull> for Row<T> {
+ type Output = [T];
+
+ #[inline]
+ fn index(&self, _: RangeFull) -> &[T] {
+ &self.0[..]
+ }
+}
+
+impl<T> IndexMut<RangeFull> for Row<T> {
+ #[inline]
+ fn index_mut(&mut self, _: RangeFull) -> &mut [T] {
+ &mut self.0[..]
+ }
+}