Class RRRBitVector

Nested Relationships

Nested Types

Class Documentation

class RRRBitVector

a static vector of bits compressed to its entropy, with rank and select

Public Functions

inline RRRBitVector(void)
explicit RRRBitVector(const BitVector &b)

the bits of b, compressed

inline std::size_t size(void) const
inline std::size_t ones(void) const

the number of 1s

inline std::size_t zeros(void) const

the number of 0s

bool operator[](std::size_t i) const

the bit i

Pre:

i < size()

std::size_t rank1(std::size_t i) const

the number of 1s in the places [ 0 , i )

Pre:

i <= size()

inline std::size_t rank0(std::size_t i) const

the number of 0s in the places [ 0 , i )

Pre:

i <= size()

std::size_t select1(std::size_t k) const

the place of the k-th 1

Pre:

1 <= k <= ones()

std::size_t select0(std::size_t k) const

the place of the k-th 0

Pre:

1 <= k <= zeros()

std::size_t sizeInBits(void) const

the bits of the classes, of the offsets and of the superblocks