b-tree-plus-alpha
Loading...
Searching...
No Matches
stool::bptree::DynamicWaveletTreeOnGrid Class Reference

DynamicWaveletTreeOnGrid. [Unchecked AI's Comment]. More...

#include <dynamic_wavelet_tree_on_grid.hpp>

Classes

class  XRankIterator
 
class  YRankIterator
 

Public Member Functions

void clear ()
 
uint64_t get_node_x_pos_in_bit_sequence (int64_t h, uint64_t h_node_id) const
 
uint64_t rank0_in_bit_sequence_of_node (uint64_t h, uint64_t h_node_id, uint64_t node_x_pos_in_bit_sequence, uint64_t i) const
 
uint64_t rank1_in_bit_sequence_of_node (uint64_t h, uint64_t h_node_id, uint64_t node_x_pos_in_bit_sequence, uint64_t i) const
 
void recursive_add (int64_t h, uint64_t h_node_id, uint64_t x_rank, uint64_t y_rank, std::vector< uint64_t > &output_path)
 
uint64_t get_upper_size_of_internal_node (uint64_t h) const
 
uint64_t get_lower_size_of_internal_node (uint64_t h) const
 
void build_h_bit_sequence (uint64_t h, const std::vector< uint64_t > &rank_elements, std::vector< uint64_t > &output_next_rank_elements, std::vector< uint64_t > &output_next_length_seq)
 
void rebuild_h_bit_sequence (uint64_t h, uint64_t first_node_id, uint64_t local_h_node_count, const std::vector< uint64_t > &rank_elements, std::vector< uint64_t > &output_next_rank_elements, std::vector< uint64_t > &output_next_length_seq)
 
void build (const std::vector< uint64_t > &rank_elements, int message_paragraph=stool::Message::NO_MESSAGE)
 
uint64_t get_bit_count_in_node (uint64_t h, uint64_t h_node_id) const
 
bool is_unbalanced_node (uint8_t h, uint64_t h_node_id) const
 
void swap (DynamicWaveletTreeOnGrid &item)
 
int64_t height () const
 
uint64_t size () const
 
uint64_t access_x_rank (uint64_t y_rank) const
 
uint64_t find_leaf_index (uint64_t x_rank) const
 
uint64_t access_y_rank (uint64_t x_rank) const
 
std::vector< boolget_bit_sequence (uint64_t h, uint64_t node_id) const
 
bool verify () const
 
std::vector< uint64_tto_local_rank_elements_in_y_order (uint64_t h, uint64_t node_id) const
 
std::vector< uint64_tto_rank_elements_in_y_order () const
 
std::vector< uint64_tto_rank_elements_in_x_order () const
 
uint64_t compute_local_x_rank (uint64_t node_y, uint64_t node_id, uint64_t local_y_rank) const
 
template<typename APPENDABLE_VECTOR >
uint64_t local_range_report_on_internal_node (uint64_t h, uint64_t node_id, uint64_t x_rank_gap, uint64_t hy_min, uint64_t hy_max, APPENDABLE_VECTOR &out) const
 
template<typename APPENDABLE_VECTOR >
uint64_t recursive_range_report_on_internal_nodes (uint64_t h, uint64_t node_id, uint64_t node_x_pos, int64_t x_min, int64_t x_max, uint64_t hy_min, uint64_t hy_max, APPENDABLE_VECTOR &out) const
 
template<typename APPENDABLE_VECTOR >
uint64_t range_report (uint64_t x_min, uint64_t x_max, uint64_t y_min, uint64_t y_max, APPENDABLE_VECTOR &out) const
 
XRankIterator x_rank_begin () const
 
XRankIterator x_rank_end () const
 
YRankIterator y_rank_begin () const
 
YRankIterator y_rank_end () const
 
void print_tree () const
 
uint64_t size_in_bytes (bool only_extra_bytes=false) const
 
void rebuild_internal_node (uint8_t h, uint64_t h_node_id)
 
void add (uint64_t x_rank, uint64_t y_rank)
 
void remove (uint64_t y_rank)
 
std::vector< std::string > get_memory_usage_info (int message_paragraph=stool::Message::SHOW_MESSAGE) const
 

Static Public Member Functions

static uint64_t _get_upper_size_of_root (uint64_t H)
 
static uint64_t _get_upper_size_of_internal_node (uint64_t h, uint64_t H)
 
static void store_to_file (DynamicWaveletTreeOnGrid &item, std::ofstream &os)
 
static void store_to_bytes (DynamicWaveletTreeOnGrid &item, std::vector< uint8_t > &output, uint64_t &pos)
 
static DynamicWaveletTreeOnGrid load_from_file (std::ifstream &ifs)
 
static DynamicWaveletTreeOnGrid load_from_bytes (const std::vector< uint8_t > &data, uint64_t &pos)
 

Detailed Description

DynamicWaveletTreeOnGrid. [Unchecked AI's Comment].


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