Module sark_grids::grid
source · Expand description
A 2 dimensional grid that stores it’s internal data in a Vec
. The size of
the grid is constant and elements cannot be removed, only changed. Provides
very fast iteration and access speed.
Elements can be inserted and accessed via their 1d index, 2d index, or read/modified via iterators.
Example
use sark_grids::prelude::*;
let mut grid = Grid::default([10,10]);
grid[0] = 'a';
grid[ [1,0] ] = 'b';
assert_eq!('a', grid[0]);
assert_eq!('b', grid[ [1,0] ]);
grid.insert_column_at([3,2], "hello".chars());
let hello: String = grid.iter_column(3).skip(2).take(5).collect();
assert_eq!("hello", hello);
Structs
A dense sized grid that stores it’s elements in a
Vec
.