SDSL 3.0.3
Succinct Data Structure Library
|
#include <wt_helper.hpp>
Public Types | |
enum | : uint16_t { undef = 0xFFFF } |
enum | : uint32_t { fixed_sigma = 256 } |
enum | : uint8_t { int_width = 8 } |
using | alphabet_category = byte_alphabet_tag |
using | value_type = uint8_t |
using | node_type = uint16_t |
using | data_node = _node<_byte_tree> |
Public Member Functions | |
_byte_tree () | |
_byte_tree (std::vector< pc_node > const &temp_nodes, uint64_t &bv_size, t_wt const *) | |
template<typename t_rank_type > | |
void | init_node_ranks (t_rank_type const &rank) |
_byte_tree (_byte_tree const &bt) | |
_byte_tree & | operator= (_byte_tree const &bt) |
_byte_tree & | operator= (_byte_tree &&bt) |
uint64_t | serialize (std::ostream &out, structure_tree_node *v=nullptr, std::string name="") const |
Serializes the data structure into the given ostream. | |
void | load (std::istream &in) |
Loads the data structure from the given istream. | |
template<typename archive_t > | |
void | CEREAL_SAVE_FUNCTION_NAME (archive_t &ar) const |
template<typename archive_t > | |
void | CEREAL_LOAD_FUNCTION_NAME (archive_t &ar) |
bool | operator== (_byte_tree const &other) const noexcept |
Equality operator. | |
bool | operator!= (_byte_tree const &other) const noexcept |
Inequality operator. | |
node_type | c_to_leaf (value_type c) const |
Get corresponding leaf for symbol c. | |
uint64_t | size () const |
Return the number of nodes in the tree. | |
node_type | parent (node_type v) const |
Return the parent node of v. | |
node_type | child (node_type v, uint8_t i) const |
Return left (i=0) or right (i=1) child node of v. | |
bool | is_leaf (node_type v) const |
Return if v is a leaf node. | |
uint64_t | size (node_type v) const |
Return size of an inner node. | |
uint64_t | bit_path (value_type c) const |
Return the path as left/right bit sequence in a uint64_t. | |
uint64_t | bv_pos (node_type v) const |
Return the start of the node in the WT's bit vector. | |
uint64_t | bv_pos_rank (node_type v) const |
Returns for node v the rank of 1's up to bv_pos(v) | |
bool | is_valid (node_type v) const |
Return if the node is a valid node. | |
std::pair< bool, value_type > | symbol_gte (value_type c) const |
Return symbol c or the next larger symbol in the wt. | |
std::pair< bool, value_type > | symbol_lte (value_type c) const |
Return symbol c or the next smaller symbol in the wt. | |
Static Public Member Functions | |
static node_type | root () |
Return the root node of the tree. | |
Public Attributes | |
std::vector< data_node > | m_nodes |
node_type | m_c_to_leaf [fixed_sigma] |
uint64_t | m_path [fixed_sigma] |
Definition at line 200 of file wt_helper.hpp.
using sdsl::_byte_tree< t_dfs_shape, t_wt >::alphabet_category = byte_alphabet_tag |
Definition at line 202 of file wt_helper.hpp.
using sdsl::_byte_tree< t_dfs_shape, t_wt >::data_node = _node<_byte_tree> |
Definition at line 205 of file wt_helper.hpp.
using sdsl::_byte_tree< t_dfs_shape, t_wt >::node_type = uint16_t |
Definition at line 204 of file wt_helper.hpp.
using sdsl::_byte_tree< t_dfs_shape, t_wt >::value_type = uint8_t |
Definition at line 203 of file wt_helper.hpp.
anonymous enum : uint16_t |
Enumerator | |
---|---|
undef |
Definition at line 206 of file wt_helper.hpp.
anonymous enum : uint32_t |
Enumerator | |
---|---|
fixed_sigma |
Definition at line 210 of file wt_helper.hpp.
anonymous enum : uint8_t |
Enumerator | |
---|---|
int_width |
Definition at line 214 of file wt_helper.hpp.
|
inline |
Definition at line 227 of file wt_helper.hpp.
|
inline |
Definition at line 230 of file wt_helper.hpp.
|
inline |
Definition at line 329 of file wt_helper.hpp.
|
inline |
Return the path as left/right bit sequence in a uint64_t.
Definition at line 460 of file wt_helper.hpp.
|
inline |
Return the start of the node in the WT's bit vector.
Definition at line 466 of file wt_helper.hpp.
|
inline |
Returns for node v the rank of 1's up to bv_pos(v)
Definition at line 472 of file wt_helper.hpp.
|
inline |
Get corresponding leaf for symbol c.
Definition at line 419 of file wt_helper.hpp.
|
inline |
Definition at line 397 of file wt_helper.hpp.
|
inline |
Definition at line 389 of file wt_helper.hpp.
|
inline |
Return left (i=0) or right (i=1) child node of v.
Definition at line 441 of file wt_helper.hpp.
|
inline |
Definition at line 320 of file wt_helper.hpp.
|
inline |
Return if v is a leaf node.
Definition at line 447 of file wt_helper.hpp.
|
inline |
Return if the node is a valid node.
Definition at line 478 of file wt_helper.hpp.
|
inline |
Loads the data structure from the given istream.
Definition at line 378 of file wt_helper.hpp.
|
inlinenoexcept |
Inequality operator.
Definition at line 413 of file wt_helper.hpp.
|
inline |
Definition at line 348 of file wt_helper.hpp.
|
inline |
Definition at line 338 of file wt_helper.hpp.
|
inlinenoexcept |
Equality operator.
Definition at line 405 of file wt_helper.hpp.
|
inline |
Return the parent node of v.
Definition at line 436 of file wt_helper.hpp.
|
inlinestatic |
Return the root node of the tree.
Definition at line 424 of file wt_helper.hpp.
|
inline |
Serializes the data structure into the given ostream.
Definition at line 362 of file wt_helper.hpp.
|
inline |
Return the number of nodes in the tree.
Definition at line 430 of file wt_helper.hpp.
|
inline |
Return size of an inner node.
Definition at line 453 of file wt_helper.hpp.
|
inline |
Return symbol c or the next larger symbol in the wt.
Definition at line 484 of file wt_helper.hpp.
|
inline |
Return symbol c or the next smaller symbol in the wt.
Definition at line 497 of file wt_helper.hpp.
node_type sdsl::_byte_tree< t_dfs_shape, t_wt >::m_c_to_leaf[fixed_sigma] |
Definition at line 220 of file wt_helper.hpp.
std::vector<data_node> sdsl::_byte_tree< t_dfs_shape, t_wt >::m_nodes |
Definition at line 219 of file wt_helper.hpp.
uint64_t sdsl::_byte_tree< t_dfs_shape, t_wt >::m_path[fixed_sigma] |
Definition at line 223 of file wt_helper.hpp.