# bv-rs: bit-vectors and bit-slices for Rust
[](https://travis-ci.org/tov/bv-rs)
[](https://crates.io/crates/bv)
[](LICENSE-MIT)
[](LICENSE-APACHE)
The main type exported by the library, `BV`, is a packed, growable
bit-vector. Its API mirrors that of `Vec` where reasonable. The library
also defines slice operations that return `BitSlice` or `BitSliceMut`,
akin to Rust’s array slices but for bit-vectors. A common API to
bit-vectors and bit-slices is provided by the `BitVec` and `BitVecMut`
traits, which also allow treating all primitive unsigned integer types
(`uN`) and vectors and array slices of the same primitive types as well
as of bool (`Vec<uN>`, `&[uN]`, `&mut [uN]`, `Vec<bool>`, `&[bool]`, and
`&mut [bool]`) as bit-vectors.
## Usage
It’s [on crates.io](https://crates.io/crates/bv), so you can add
```toml
[dependencies]
bv = "*"
```
to your `Cargo.toml` and
```rust
extern crate bv;
```
to your crate root.