ranges done, cool stuff

This commit is contained in:
2021-12-12 12:06:31 -05:00
parent f360be0c8d
commit d5fd89e228
5 changed files with 35 additions and 26 deletions

View File

@@ -29,15 +29,13 @@ public:
return grid[y][x];
}
auto get_range() {
auto res = grid | ranges::views::enumerate | ranges::views::transform([](auto it) {
int index_y = std::get<0>(it);
std::vector<T> element = std::get<1>(it);
return element | ranges::views::enumerate | ranges::views::transform([&](auto pair) {
int index_x = std::get<0>(pair);
return Point{index_x, index_y};
});
});
return ranges::views::join(res);
int height = get_height();
int width = get_width();
return ranges::views::iota(0, height) | ranges::views::transform([height, width](int y) {
return ranges::views::iota(0, width) | ranges::views::transform([y](int x) {
return Point{x,y};
});
}) | ranges::views::join;
}
};