pasta_bit_vector
1.0.1
Bit Vector with Compact and Fast Rank and Select Support
|
Struct used to store L1- and L2-blocks for BitVectorRank
and BitVectorSelect
.
More...
#include <l12_type.hpp>
Public Member Functions | |
L12Type ()=default | |
Constructor. Empty constructor required for tlx::SimpleVector . | |
L12Type (uint32_t const _l1, std::array< uint16_t, 3 > const _l2) | |
Constructor. Setting all values and packing the L2-block entries. | |
uint16_t | operator[] (size_t const index) const |
Access operator used to access the L2-block entries individually. | |
Public Attributes | |
uint32_t | l1 |
L1-block value. | |
uint32_t | l2_values |
Packed L2-block values. | |
Struct used to store L1- and L2-blocks for BitVectorRank
and BitVectorSelect
.
In L12Entry
, the 32-bit L1-block entry is stored, as well as the three corresponding L2-block entries (each requiring 10 bits). Note that 2 bits are still unused.
|
inline |
Constructor. Setting all values and packing the L2-block entries.
_l1 | Value of the L1-block entry. |
_l2 | Values of the three L2-block entries ( asstd::array ). |
|
inline |
Access operator used to access the L2-block entries individually.
index | The index (0, 1, or 3) of the L2-block. |