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

A dynamic data structure storing a permutation. More...

#include <dynamic_permutation.hpp>

Public Types

using Tree = typename PermutationContainer::Tree
 
using BPIterator = bptree::BPPostorderIterator< PermutationContainer, PermutationItem, bptree::DEFAULT_MAX_DEGREE_OF_INTERNAL_NODE >
 
using PermIterator = PermutationContainer::PermutationIterator
 
using NodePointer = bptree::BPNodePointer< PermutationContainer, PermutationItem, bptree::DEFAULT_MAX_DEGREE_OF_INTERNAL_NODE >
 

Public Member Functions

DynamicPermutationoperator= (const DynamicPermutation &)=delete
 
 DynamicPermutation (DynamicPermutation &&other) noexcept
 
DynamicPermutationoperator= (DynamicPermutation &&other) noexcept
 
void swap (DynamicPermutation &perm)
 
Tree & get_pi_tree ()
 
Tree & get_inverse_pi_tree ()
 
uint64_t get_max_degree () const
 
template<typename PI_ITERATOR_BEGIN , typename PI_ITERATOR_END >
void build (PI_ITERATOR_BEGIN beg, PI_ITERATOR_END end, uint64_t pi_size, int message_paragraph=stool::Message::SHOW_MESSAGE)
 
void insert (int64_t pi_index, int64_t inverse_pi_index)
 
void erase (int64_t pi_index)
 
void clear ()
 
void move_pi_index (int64_t from, int64_t to)
 
void verify () const
 
uint64_t size () const
 
int64_t access (const std::vector< NodePointer > &path, uint64_t position_to_leaf_index) const
 
int64_t access (int64_t pi_index) const
 
int64_t inverse (int64_t inverse_pi_index) const
 
std::string to_string () const
 
std::vector< uint64_tget_pi_vector () const
 
std::vector< uint64_tget_inverse_pi_vector () const
 
void print (int message_paragraph=stool::Message::SHOW_MESSAGE) const
 
void print_information_about_performance (int message_paragraph=stool::Message::SHOW_MESSAGE) const
 
uint64_t size_in_bytes () const
 
std::vector< std::string > get_memory_usage_info (int message_paragraph=stool::Message::SHOW_MESSAGE) const
 
void print_memory_usage (int message_paragraph=stool::Message::SHOW_MESSAGE) const
 
void sort_leaf_containers ()
 
void print_statistics (int message_paragraph=stool::Message::SHOW_MESSAGE) const
 
void print_content (int message_paragraph=stool::Message::SHOW_MESSAGE) const
 

Static Public Member Functions

static void save (DynamicPermutation &dp, std::vector< uint8_t > &output, uint64_t &pos)
 
static void save (DynamicPermutation &dp, std::ofstream &os)
 
static DynamicPermutation build_from_data (const std::vector< uint8_t > &data, uint64_t &pos)
 
static DynamicPermutation build_from_data (std::ifstream &ifs)
 

Detailed Description

A dynamic data structure storing a permutation.


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