growable-bitmap 0.2.0

A growable (and shrinkable) compact boolean array.
Documentation
  • Coverage
  • 100%
    23 out of 23 items documented19 out of 20 items with examples
  • Size
  • Source code size: 38 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.51 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 10s Average build duration of successful builds.
  • all releases: 10s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • poliorcetics/growable-bitmap
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • poliorcetics

CI crates.io crates.io

Growable bitmap

growable-bitmap is a Rust crate providing a growable (and shrinkable) compact boolean array that can be parameterized on its storage type.

THIS CRATE IS NOT CONSIDERED PRODUCTION READY AT THE MOMENT.

TODO

This crate is not feature-complete at all. Below are some features I want to add before marking it as 1.0:

  • BitOr (with another GrowableBitMap).

  • BitOrAssign (with another GrowableBitMap).

  • BitAnd (with another GrowableBitMap).

  • BitAndAssign (with another GrowableBitMap).

  • BitXor (with another GrowableBitMap).

  • BitXorAssign (with another GrowableBitMap).

  • When const-generics become available, possibly use them as storage ?

  • [Rust 1.48.0+ / Intra-doc links]: Use intra-doc links in documentation. Right now there are no links because they're painful to write once you've been introduced to the wonder intra-doc links are.

Usage

Add this to your Cargo.toml:

[dependencies]
growable-bitmap = "0.2"

and, if you're using Rust Edition 2015, this to your crate root:

extern crate growable_bitmap;

Similar crates

But bitmaps are not a new problem, why a new crate ?

This is true, in fact there are two libraries on crates.io that provides bitmaps already:

  • bitmap: marked as complete since 2016, which means it does not leverage new APIs in the standard library. Not a bad thing if you want absolute stability though.
  • bitmaps: Only fixed-size arrays, which is an explicit non-goal of growable-bitmap. bitmaps and growable-bitmap complement each other and you should choose the correct one for you usage.

And I wanted to make a bitmap crate because I think bitmaps are a very cool data structure and I love using Rust to build things.

License

See the LICENSE file at the root of the repository.