Everett
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
everett::elias_fano_view Struct Reference

#include <elias_fano.h>

Public Member Functions

 elias_fano_view ()=default
 
 elias_fano_view (std::span< std::uint64_t const > low, std::span< std::uint64_t const > high, std::span< elias_fano_sample const > samples, std::span< std::uint64_t const > sparse, std::uint64_t entry_count, std::uint64_t universe, unsigned low_width)
 
template<class Words , class Samples >
requires (std::is_same_v<Words, word_view> && std::is_same_v<Samples, sample_view>)
 elias_fano_view (Words low, Words high, Samples samples, Words sparse, std::uint64_t entry_count, std::uint64_t universe, unsigned low_width)
 
word_view low_words () const noexcept
 
word_view high_words () const noexcept
 
sample_view samples () const noexcept
 
word_view sparse_words () const noexcept
 
std::uint64_t universe () const noexcept
 
unsigned low_width () const noexcept
 
std::uint64_t size () const noexcept
 
template<simd::architecture Arch = simd::scalar>
std::uint64_t select (std::uint64_t ordinal) const
 
template<simd::architecture Arch = simd::scalar>
elias_fano_cursor cursor (std::uint64_t ordinal=0) const
 

Private Member Functions

std::uint64_t decode (std::uint64_t ordinal, std::uint64_t position) const
 
template<simd::architecture Arch>
std::uint64_t select_high (std::uint64_t ordinal) const
 

Private Attributes

word_view low_
 
word_view high_
 
sample_view samples_
 
word_view sparse_
 
std::uint64_t entry_count_ = 0
 
std::uint64_t universe_ = 0
 
std::uint64_t high_bits_ = 0
 
unsigned low_width_ = 0
 

Friends

struct elias_fano_cursor
 

Constructor & Destructor Documentation

◆ elias_fano_view() [1/3]

everett::elias_fano_view::elias_fano_view ( )
default

◆ elias_fano_view() [2/3]

everett::elias_fano_view::elias_fano_view ( std::span< std::uint64_t const >  low,
std::span< std::uint64_t const >  high,
std::span< elias_fano_sample const >  samples,
std::span< std::uint64_t const >  sparse,
std::uint64_t  entry_count,
std::uint64_t  universe,
unsigned  low_width 
)
inline

◆ elias_fano_view() [3/3]

template<class Words , class Samples >
requires (std::is_same_v<Words, word_view> && std::is_same_v<Samples, sample_view>)
everett::elias_fano_view::elias_fano_view ( Words  low,
Words  high,
Samples  samples,
Words  sparse,
std::uint64_t  entry_count,
std::uint64_t  universe,
unsigned  low_width 
)
inline

Member Function Documentation

◆ cursor()

template<simd::architecture Arch>
elias_fano_cursor everett::elias_fano_view::cursor ( std::uint64_t  ordinal = 0) const
inline

◆ decode()

std::uint64_t everett::elias_fano_view::decode ( std::uint64_t  ordinal,
std::uint64_t  position 
) const
inlineprivate

◆ high_words()

word_view everett::elias_fano_view::high_words ( ) const
inlinenoexcept

◆ low_width()

unsigned everett::elias_fano_view::low_width ( ) const
inlinenoexcept

◆ low_words()

word_view everett::elias_fano_view::low_words ( ) const
inlinenoexcept

◆ samples()

sample_view everett::elias_fano_view::samples ( ) const
inlinenoexcept

◆ select()

template<simd::architecture Arch = simd::scalar>
std::uint64_t everett::elias_fano_view::select ( std::uint64_t  ordinal) const
inline

◆ select_high()

template<simd::architecture Arch>
std::uint64_t everett::elias_fano_view::select_high ( std::uint64_t  ordinal) const
inlineprivate

◆ size()

std::uint64_t everett::elias_fano_view::size ( ) const
inlinenoexcept

◆ sparse_words()

word_view everett::elias_fano_view::sparse_words ( ) const
inlinenoexcept

◆ universe()

std::uint64_t everett::elias_fano_view::universe ( ) const
inlinenoexcept

Friends And Related Symbol Documentation

◆ elias_fano_cursor

friend struct elias_fano_cursor
friend

Member Data Documentation

◆ entry_count_

std::uint64_t everett::elias_fano_view::entry_count_ = 0
private

◆ high_

word_view everett::elias_fano_view::high_
private

◆ high_bits_

std::uint64_t everett::elias_fano_view::high_bits_ = 0
private

◆ low_

word_view everett::elias_fano_view::low_
private

◆ low_width_

unsigned everett::elias_fano_view::low_width_ = 0
private

◆ samples_

sample_view everett::elias_fano_view::samples_
private

◆ sparse_

word_view everett::elias_fano_view::sparse_
private

◆ universe_

std::uint64_t everett::elias_fano_view::universe_ = 0
private

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