Module vers_vecs::bit_vec

source ·
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§

  • 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.
  • This module defines a struct for lazily masking BitVec. It offers all immutable operations of BitVec but applies a bit-mask during the operation. The struct is created through BitVec::mask_xor, BitVec::mask_and, BitVec::mask_or, or BitVec::mask_custom.

Structs§

  • A simple bit vector that does not support rank and select queries. It stores bits densely in 64 bit limbs. The last limb may be partially filled. Other than that, there is no overhead.
  • An owning iterator for BitVec. This struct is created by the into_iter trait implementation of BitVec.
  • A borrowing iterator for BitVec. This struct is created by the iter method of BitVec.

Type Aliases§

  • 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.