bitmac 0.3.0

Structure for accessing to single bits
Documentation

bitmac

This library provides implementation of bitmap with custom bit accessing and resizing strategy.

[dependencies]
bitmac = "0.3"

Features

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

Example

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);
}

License