summaryrefslogtreecommitdiffstats
path: root/src/grid.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2023-12-11 00:33:35 -0500
committerJesse Luehrs <doy@tozt.net>2023-12-11 00:33:35 -0500
commit9b84f5b0d90676aa8e578d367e7870c86a4ebf3b (patch)
treeeb0b15cb28c4f21772f2a8e6400723f1aba9c2f2 /src/grid.rs
parent681ef52b88c4b53b86fdc5bf45db19271253b108 (diff)
downloadadvent-of-code-9b84f5b0d90676aa8e578d367e7870c86a4ebf3b.tar.gz
advent-of-code-9b84f5b0d90676aa8e578d367e7870c86a4ebf3b.zip
day 11
Diffstat (limited to 'src/grid.rs')
-rw-r--r--src/grid.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/grid.rs b/src/grid.rs
index 040b92b..f299bee 100644
--- a/src/grid.rs
+++ b/src/grid.rs
@@ -333,6 +333,19 @@ impl<T: Default + Clone + Eq + PartialEq + std::hash::Hash> Grid<T> {
.resize_with(cols.0.max(row.cells.len()), T::default);
}
}
+
+ pub fn insert_row(&mut self, row: Row) {
+ let mut cells = vec![];
+ cells.resize_with(self.cols().0, Default::default);
+ self.rows.insert(row.0, GridRow { cells });
+ }
+
+ pub fn insert_col(&mut self, col: Col) {
+ for row in self.each_row() {
+ let row = &mut self[row];
+ row.cells.insert(col.0, Default::default());
+ }
+ }
}
impl<T: Clone + Eq + PartialEq + std::hash::Hash + std::fmt::Display>