Pixie
Loading...
Searching...
No Matches
pixie::detail::compressed::BlockedMonotoneSamples< MetadataStorage > Class Template Reference

Internal block Elias–Fano array of non-decreasing 64-bit integers. More...

#include <samples.h>

Public Types

using metadata_storage_type = MetadataStorage
 

Public Member Functions

 BlockedMonotoneSamples (std::span< const std::uint64_t > values)
 
std::uint64_t operator[] (std::size_t index) const
 
std::size_t allocated_bytes () const
 

Protected Attributes

MetadataArray< std::uint64_t, MetadataStorage > storage_
 
MetadataArray< std::uint64_t, MetadataStorage > offsets_
 

Static Protected Attributes

static constexpr std::uint64_t kOffsetMask = (std::uint64_t{1} << 58) - 1
 

Detailed Description

template<StorageImplementation MetadataStorage = AlignedStorage>
class pixie::detail::compressed::BlockedMonotoneSamples< MetadataStorage >

Internal block Elias–Fano array of non-decreasing 64-bit integers.

Each group of up to 32 values stores a base, a unary high word, and packed low bits contiguously. A separate word-offset directory has one entry per group, with the low width in its upper six bits. Widths can be zero; duplicates are valid. There is no child pointer or exception flag per integer.


The documentation for this class was generated from the following file: