b-tree-plus-alpha
Loading...
Searching...
No Matches
stool::bptree::BitDequeContainer< MAX_BIT_SIZE > Class Template Reference

A container that stores a short sequence of bits. More...

#include <bit_deque_container.hpp>

Public Types

using BitDequeContainerIterator = typename BitArrayDeque::NaiveBitVectorIterator
 

Public Member Functions

 BitDequeContainer (std::vector< uint64_t > &_items)
 
 BitDequeContainer (std::vector< bool > &_items)
 
void swap (BitDequeContainer &item)
 
uint64_t size () const
 
uint64_t size_in_bytes (bool only_extra_bytes) const
 
uint64_t unused_size_in_bytes () const
 
uint64_t at (uint64_t pos) const
 
void print () const
 
void clear ()
 
uint64_t psum (uint64_t i) const noexcept
 
uint64_t psum () const noexcept
 
int64_t search (uint64_t x) const noexcept
 
std::string to_string () const
 
std::vector< uint64_tto_value_vector () const
 
uint64_t to_uint64 () const
 
template<typename VEC >
void to_values (VEC &output_vec) const
 
void insert (uint64_t pos, uint64_t value)
 
void remove (uint64_t pos)
 
uint64_t to_bit_array (const std::vector< uint64_t > &new_items, std::array< uint64_t, MAX_BIT_SIZE/64 > &output)
 
void push_front (const std::vector< uint64_t > &new_items)
 
void push_front (uint64_t new_item)
 
void push_back (const std::vector< uint64_t > &new_items)
 
void push_back (uint64_t value)
 
void pop_front ()
 
std::vector< uint64_tpop_front (uint64_t len)
 
void pop_back ()
 
std::vector< uint64_tpop_back (uint64_t len)
 
uint64_t reverse_psum (uint64_t i) const
 
uint64_t psum (uint64_t i, uint64_t j) const
 
void increment (uint64_t i, int64_t delta)
 
int64_t rank1 (uint64_t i) const
 
int64_t rank0 (uint64_t i) const
 
int64_t rank (uint64_t i, bool b) const
 
int64_t select (uint64_t i, bool b) const
 
int64_t select1 (uint64_t i) const
 
int64_t select0 (uint64_t i) const
 
void to_data (std::vector< uint8_t > &output) const
 
BitDequeContainerIterator begin () const
 
BitDequeContainerIterator end () const
 

Static Public Member Functions

static std::string name ()
 
static uint64_t get_byte_size (const std::vector< BitDequeContainer > &items)
 
static void save (const std::vector< BitDequeContainer > &items, std::vector< uint8_t > &output, uint64_t &pos)
 
static void save (const std::vector< BitDequeContainer > &items, std::ofstream &os)
 
static BitDequeContainer load (const std::vector< uint8_t > &data, uint64_t &pos)
 
static BitDequeContainer load (std::ifstream &ifs)
 
static std::vector< BitDequeContainerload_vector (const std::vector< uint8_t > &data, uint64_t &pos)
 
static std::vector< BitDequeContainerload_vector (std::ifstream &ifs)
 

Detailed Description

template<uint64_t MAX_BIT_SIZE = 8192ULL>
class stool::bptree::BitDequeContainer< MAX_BIT_SIZE >

A container that stores a short sequence of bits.


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