The indexSet stores positions of bits that are one. More...
#include <bitvector.h>
Public Member Functions | |
const word_t & | currentWord () const |
The value of the current compressed word. | |
indexSet () | |
Default constructor. | |
indexSet (const indexSet &rhs) | |
Copy constructor. | |
const word_t * | indices () const |
Pointer to the indices. | |
bool | isRange () const |
Is the index set a consecutive range? | |
word_t | nIndices () const |
Number of indices. | |
indexSet & | operator++ () |
indexSet & | operator= (const indexSet &rhs) |
Assignment operator. | |
Friends | |
indexSet | ibis::bitvector::firstIndexSet () const |
The indexSet stores positions of bits that are one.
It decodes one word of the bitvector at a time. For a fill of ones, the function isRange
returns true, otherwise it returns false. If isRange returns true, the position of the first bit is pointed by the pointer returned by function indices
, and there are nIndices
consecutive ones. If isRange
returns false, there are nIndices
bits that are one and the positions of these bits are stored in the array returned by function indices
.
![]() |