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

#include <sort_codec.h>

Public Member Functions

 sort_bit_reader (bit_view data)
 
std::uint64_t position () const noexcept
 
std::uint64_t remaining () const noexcept
 
bool empty () const noexcept
 
std::uint64_t read_bits (unsigned width)
 
bit_view take_bits (std::uint64_t count)
 
void skip_bits (std::uint64_t count)
 
template<class Code = exponential_golomb<0>>
std::uint64_t read_count ()
 

Private Member Functions

void refill () noexcept
 
void consume (unsigned count) noexcept
 
void skip (std::uint64_t count) noexcept
 
std::uint64_t read_zero_run (std::uint64_t limit, char const *truncated, char const *overflow)
 
std::uint64_t read_exponential ()
 
std::uint64_t read_exponential_slow ()
 

Private Attributes

bit_view data_
 
std::uint64_t at_ = 0
 
std::uint64_t reservoir_ = 0
 
unsigned cached_ = 0
 

Constructor & Destructor Documentation

◆ sort_bit_reader()

everett::sort_bit_reader::sort_bit_reader ( bit_view  data)
inlineexplicit

Member Function Documentation

◆ consume()

void everett::sort_bit_reader::consume ( unsigned  count)
inlineprivatenoexcept

◆ empty()

bool everett::sort_bit_reader::empty ( ) const
inlinenoexcept

◆ position()

std::uint64_t everett::sort_bit_reader::position ( ) const
inlinenoexcept

◆ read_bits()

std::uint64_t everett::sort_bit_reader::read_bits ( unsigned  width)
inline

◆ read_count()

template<class Code = exponential_golomb<0>>
std::uint64_t everett::sort_bit_reader::read_count ( )
inline

◆ read_exponential()

std::uint64_t everett::sort_bit_reader::read_exponential ( )
inlineprivate

◆ read_exponential_slow()

std::uint64_t everett::sort_bit_reader::read_exponential_slow ( )
inlineprivate

◆ read_zero_run()

std::uint64_t everett::sort_bit_reader::read_zero_run ( std::uint64_t  limit,
char const *  truncated,
char const *  overflow 
)
inlineprivate

◆ refill()

void everett::sort_bit_reader::refill ( )
inlineprivatenoexcept

◆ remaining()

std::uint64_t everett::sort_bit_reader::remaining ( ) const
inlinenoexcept

◆ skip()

void everett::sort_bit_reader::skip ( std::uint64_t  count)
inlineprivatenoexcept

◆ skip_bits()

void everett::sort_bit_reader::skip_bits ( std::uint64_t  count)
inline

◆ take_bits()

bit_view everett::sort_bit_reader::take_bits ( std::uint64_t  count)
inline

Member Data Documentation

◆ at_

std::uint64_t everett::sort_bit_reader::at_ = 0
private

◆ cached_

unsigned everett::sort_bit_reader::cached_ = 0
private

◆ data_

bit_view everett::sort_bit_reader::data_
private

◆ reservoir_

std::uint64_t everett::sort_bit_reader::reservoir_ = 0
private

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