This library provides implementation of bitmap with custom bit accessing and resizing strategy.
[dependencies]
bitmac = "0.3"
Feature | Description |
---|---|
bytes |
to implement ContainerRead trait for Bytes and ContainerRead , ContainerWrite , and Resizable traits for [BytesMut ] |
smallvec |
to implement ContainerRead , ContainerWrite and Resizable traits for SmallVec |
use bitmac::{StaticBitmap, LSB, Intersection, Union};
fn main() {
let mut bitmap = StaticBitmap::<u16, LSB>::default();
assert!(!bitmap.get(0));
assert!(!bitmap.get(7));
bitmap.set(0, true);
bitmap.set(7, true);
assert!(bitmap.get(0));
assert!(bitmap.get(7));
assert_eq!(bitmap.intersection_len(0b0000_1111_0000_0001u16), 1);
assert_eq!(bitmap.union_len(0b0000_1111_0000_0001u16), 6);
}
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.