A bitset supporting at least BITS elements.
Declared in <util/bitset.h>
template<unsigned int BITS>
using BitSet = std::conditional_t<(BITS <= 32), bitset_detail::IntBitSet<uint32_t>, std::conditional_t<(BITS <= std::numeric_limits<size_t>::digits), bitset_detail::IntBitSet<size_t>, bitset_detail::MultiIntBitSet<size_t, CeilDiv(BITS, size_t{std::numeric_limits<size_t>::digits})>>>;
BitSet dispatches to IntBitSet or MultiIntBitSet as appropriate for the requested minimum number of bits. Use IntBitSet up to 32-bit, or up to 64-bit on 64-bit platforms; above that, use a MultiIntBitSet of size_t.