๐ This is the first pre-release of itsy.bitsy! ๐
This library has all the bells and whistles someone needs to get going with a few bit operations, bit views, bit sequences and a fairly decently optimized small_bit_vector and dynamic_bitset! Some highlights:
- Iterate over signed (does not touch the sign bit) or unsigned integers as a sequence of bits, from
uint8_t
all the way tolong long
!~ - View any old region of memory using
bit_view
applied over astd::span<int>
or even astd::string_view
! It is both mutable and immutable. - Pick the small bit vector size through the
InlineBitSize
template parameter, provide an allocator, and more to optimize for your workload's usage! - Completely outperform MSVC's and libstdc++'s
std::vector<bool>
with an entirely compatible interface. - Enjoy optimized standard library routines with
#include <itsy/algorithm.std.hpp>
(or the "all" header with#include <itsy/bitsy.hpp>
), includingstd::sort
,std::find(_if)
,std::is_sorted(_until)
,std::count
, and more!
I hope this library helps you reach your greatest goals! Single headers, expected to be available with itsy/forward.hpp
and itsy/bitsy.hpp
, are available attached to this release, or can be generated using the CMake build!