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