|
| FlatRankSelect ()=default |
| Default constructor w/o parameter.
|
|
| FlatRankSelect (VectorType &bv) |
| Constructor. Creates the auxiliary information for efficient rank and select queries.
|
|
| FlatRankSelect (FlatRankSelect &&)=default |
| Default move constructor.
|
|
FlatRankSelect & | operator= (FlatRankSelect &&)=default |
| Default move assignment.
|
|
| ~FlatRankSelect ()=default |
| Destructor. Deleting manually created arrays.
|
|
size_t | select0 (size_t rank) const |
| Get position of specific zero, i.e., select.
|
|
size_t | select1 (size_t rank) const |
| Get position of specific one, i.e., select.
|
|
size_t | space_usage () const final |
| Estimate for the space usage.
|
|
| FlatRank ()=default |
| Default constructor w/o parameter.
|
|
| FlatRank (BitVector &bv) |
| Constructor. Creates the auxiliary information for efficient rank queries.
|
|
size_t | rank0 (size_t index) const |
| Computes rank of zeros.
|
|
size_t | rank1 (size_t index) const |
| Computes rank of ones.
|
|
template<
OptimizedFor optimized_for = OptimizedFor::DONT_CARE,
FindL2FlatWith find_with = FindL2FlatWith::LINEAR_SEARCH, typename VectorType = BitVector>
class pasta::FlatRankSelect< optimized_for, find_with, VectorType >
Select support for BitVector that can be used as an alternative to RankSelect for bit vectors up to length 2^40.
The select support is an extended and engineered version of the popcount select support by Zhou et al. [2]. Similar to the FlatRank support, the highest utility array (L0) is removed. For more details see FlatRank and BigL12Type.
- Template Parameters
-
use_intrinsic | Set true if intrinsic functions should be used to find L2-block where the select query has to search the last 512 bits. Currently slower than simple loop. |
OptimizedFor | Compile time option to optimize data structure for either 0, 1, or neither type of query. Default is neither . |
use_intrinsic | bool flag that specifies whether intrinsics should be used during select queries (currently using them is slower). Default is false . |
VectorType | Type of the vector the rank and select data structure is constructed for, e.g., plain BitVector or a compressed bit vector. |