7 stable releases
3.2.1 | Feb 1, 2024 |
---|---|
3.2.0 | Apr 30, 2022 |
3.1.0 | Apr 30, 2021 |
2.1.0 | Mar 26, 2020 |
1.0.0 | Sep 6, 2019 |
#56 in Data structures
873,294 downloads per month
Used in 2,045 crates
(17 directly)
72KB
2.5K
SLoC
bitmaps
A fixed size compact boolean array in Rust.
Overview
This crate provides a convenient and efficient way of declaring and working with
fixed size bitmaps in Rust. It was originally split out from the sized-chunks
crate and its primary purpose is to support it, but the Bitmap
type has proven
to be generally useful enough that it was split off into a separate crate.
Example
use bitmaps::Bitmap;
fn main() {
let mut bitmap = Bitmap::<10>::new();
assert_eq!(bitmap.set(5, true), false);
assert_eq!(bitmap.set(5, true), true);
assert_eq!(bitmap.get(5), true);
assert_eq!(bitmap.get(6), false);
assert_eq!(bitmap.len(), 1);
assert_eq!(bitmap.set(3, true), false);
assert_eq!(bitmap.len(), 2);
assert_eq!(bitmap.first_index(), Some(3));
assert_eq!(bitmap.last_index(), Some(5));
}
Documentation
Licence
Copyright 2019 Bodil Stokke
This software is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
Code of Conduct
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.