Expand description
This module contains a simple bit vector implementation with no overhead and a fast succinct bit vector implementation with rank and select queries.
Modules§
- fast_
rs_ vec - A fast succinct bit vector implementation with rank and select queries. Rank computes in constant-time, select on average in constant-time, with a logarithmic worst case.
- mask
- This module defines a struct for lazily masking
BitVec. It offers all immutable operations ofBitVecbut applies a bit-mask during the operation. The struct is created throughBitVec::mask_xor,BitVec::mask_and,BitVec::mask_or, orBitVec::mask_custom. - sparse
- A sparse bit vector with
rank1,rank0andselect1support. The vector requiresO(n log u/n) + 2n + o(n)bits of space, wherenis the number of bits in the vector anduis the number of 1-bits. The vector is constructed from a sorted list of indices of 1-bits, or from an existingBitVec.
Structs§
- BitVec
- A simple bit vector that does not support rank and select queries. Bits are stored in little-endian order, i.e. the least significant bit is stored first. The bit vector is stored as a sequence of 64 bit limbs. The last limb may be partially filled.
- BitVec
Iter - An owning iterator for
BitVec. - BitVec
RefIter - A borrowing iterator for
BitVec.
Type Aliases§
- BitMask
- Type alias for masked bitvectors that implement a simple bitwise binary operation. The first lifetime is for the bit vector that is being masked, the second lifetime is for the mask.