ittybitty 0.2.0

An itty bitty bitset to hold your itty bitty bits.
Documentation
  • Coverage
  • 100%
    18 out of 18 items documented1 out of 18 items with examples
  • Size
  • Source code size: 23.43 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 3.2 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • atlv24/ittybitty
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • atlv24

ittybitty

IttyBitty<N> is a dynamically sized bit set that behaves akin to a SmallVec<[usize; N]> It holds N * size_of::<usize>() - 1 bits inline. If a bit is set beyond that range, it will allocate a buffer on the heap and stop using the inline bits. N must be 2 or greater.

Please consult the documentation for more information.

Add it to your Cargo.toml:

[dependencies]
ittybitty = "0.1"

Example

use ittybitty::IttyBitty;

let mut v = IttyBitty::<2>::new();
v.set(4, true);

assert_eq!(v.get(0), false);
assert_eq!(v.get(4), true);

Safety

This code is only mildly not garbage, good luck.

License

ittybitty is dual-licensed under either:

at your option.

Your contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.