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

Exact select positions in fixed-stride Elias–Fano groups of 32. More...

#include <position_samples.h>

Public Member Functions

 PositionSamples (std::span< const std::uint64_t > values, std::span< const std::uint64_t > wide={})
 
std::uint64_t operator[] (std::size_t index) const
 
std::pair< std::uint64_t, std::uint64_t > bounds (std::size_t index) const
 
std::optional< std::size_t > wide_entry (std::size_t index) const
 
std::size_t allocated_bytes () const
 

Detailed Description

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

Exact select positions in fixed-stride Elias–Fano groups of 32.

Each group interleaves a base, unary high word, optional wide-index prefix/mask, and packed low bits. A shared maximum low width pads every group uniformly; there is no offset directory or duplicate coarse sample array. Duplicates, partial final groups and all uint64_t values are representable. Internal callers supply sorted wide keys below values.size(). Query indexes must exist; bounds() additionally requires a following terminal sample.


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