# Grid

[![docs](https://img.shields.io/docsrs/grid/latest)](https://docs.rs/grid/latest/grid/)
[![crates.io](https://badgen.net/crates/d/grid)](https://crates.io/crates/grid)
[![build status](https://github.com/becheran/grid/actions/workflows/rust.yml/badge.svg)](https://github.com/becheran/grid/actions)
[![license](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Data structure grid for rust. Provide a two dimensional data structure for rust that is easy to use and fast.
Most of the functionality provided by the [std::vec::Vec](https://doc.rust-lang.org/std/vec/struct.Vec.html) type for one dimensional vectors
is implemented for two dimensions in this crate.

To use *grid* with *no_std* import the library such as:

``` toml
grid = { version = "*", default-features = false }
```

## Safety checks

The CI in [.github/workflows/rust.yml](.github/workflows/rust.yml) runs the test suite under Miri to catch undefined behavior in exercised code paths.

To run the same check locally:

``` sh
rustup toolchain install nightly --component miri
cargo +nightly miri setup
cargo +nightly miri test --verbose
```

- [documentation](https://docs.rs/grid/latest/grid/)
- [library on crates.io](https://crates.io/crates/grid)
