light_bitmap 0.1.0

A minimal, fixed-size bitmap library written in pure Rust.
Documentation
  • Coverage
  • 100%
    6 out of 6 items documented2 out of 2 items with examples
  • Size
  • Source code size: 83.98 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 4.08 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • bachmannscode/light-bitmap
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • bachmannscode

Light Bitmap

codecov dependency status

A minimal, fixed-size bitmap library written in pure Rust.
no_std, no heap / alloc, no unsafe — just core.

Designed for use in embedded and resource-constrained environments.

[BitMap] is the main struct in this library. Its features are listed below.

Examples

use light_bitmap::{bucket_count, BitMap};

const BIT_COUNT: usize = 10;
let mut bitmap = BitMap::<BIT_COUNT, { bucket_count(BIT_COUNT) }>::new();
assert_eq!(bitmap.popcount(), 0);
assert!(!bitmap.is_set(3));
bitmap.set(3);
assert!(bitmap.is_set(3));
assert_eq!(bitmap.popcount(), 1);

Use Cases

  • Embedded development
  • Applications that need a compact, stack-only bitmap with no dynamic allocation
  • Timing-sensitive systems where allocation unpredictability must be avoided
  • Does not support SIMD or parallel execution, so it's not ideal for cases where performance needs to be fully maxed out

Features

  • #![no_std] compatible
  • Bit-level operations on a fixed number of bits
  • No heap allocations (stack-only)
  • Const-generic API: BitMap<const BIT_COUNT, const BUCKET_COUNT>
  • Efficient iteration over all, set or unset bits:
    • iter() (all bits as bools)
    • iter_ones() (indices of set bits)
    • iter_zeros() (indices of unset bits)
  • Support for bitwise ops:
    • &, |, ^, !
    • <<, >>
    • &=, |=, ^=, <<=, >>=
  • Range operations: set_range, unset_range
  • Logical operations: popcount, first_set_bit
  • Rotation support: rotate_left, rotate_right

MIT licensed. Maintained with love for bitwise enthusiasts.