Class PartitionedEliasFano
Defined in File PartitionedEliasFano.h
Nested Relationships
Nested Types
Class Documentation
-
class PartitionedEliasFano
a static strictly increasing sequence of integers in blocks, each coded as full, as a vector of bits or by Elias-Fano, with access and nextGEQ
Public Types
-
using value_type = std::uint64_t
-
using size_type = std::size_t
-
using difference_type = std::ptrdiff_t
-
using reference = std::uint64_t
-
using const_reference = std::uint64_t
-
using const_iterator = SubscriptIterator<PartitionedEliasFano, std::uint64_t>
-
using iterator = const_iterator
Public Functions
-
PartitionedEliasFano(void) = default
-
explicit PartitionedEliasFano(std::span<const std::uint64_t> x)
the sequence x, with the universe x.back() + 1
-
PartitionedEliasFano(std::span<const std::uint64_t> x, std::uint64_t u)
the sequence x in [ 0 , u )
- Pre:
x is strictly increasing, x.back() < u
-
inline std::size_t size(void) const
-
inline bool empty(void) const
-
inline std::uint64_t universe(void) const
-
inline std::uint64_t operator[](std::size_t i) const
-
bool contains(std::uint64_t x) const
whether x is in the sequence
-
std::array<std::size_t, 3> kinds(void) const
the numbers of the full blocks, of those coded as vectors and of those coded by Elias-Fano
-
std::size_t sizeInBits(void) const
the bits of the codes, of the records and of the records apart
-
inline const_iterator begin(void) const
-
inline const_iterator end(void) const
-
inline const_iterator cbegin(void) const
-
inline const_iterator cend(void) const
-
using value_type = std::uint64_t