SDSL 3.0.3
Succinct Data Structure Library
|
A class for the Compressed Suffix Array (CSA) based on a Wavelet Tree (WT) of the Burrow Wheeler Transform of the original text. More...
#include <csa_wt.hpp>
Public Member Functions | |
csa_wt ()=default | |
Default constructor. | |
csa_wt (csa_wt const &csa) | |
Copy constructor. | |
csa_wt (csa_wt &&csa) | |
Move constructor. | |
csa_wt (cache_config &config) | |
Constructor taking a cache_config. | |
size_type | size () const |
Number of elements in the ![]() | |
bool | empty () const |
Returns if the data strucutre is empty. | |
const_iterator | begin () const |
Returns a const_iterator to the first element. | |
const_iterator | end () const |
Returns a const_iterator to the element after the last element. | |
value_type | operator[] (size_type i) const |
[]-operator | |
csa_wt & | operator= (csa_wt const &csa) |
Assignment Operator. | |
csa_wt & | operator= (csa_wt &&csa) |
Assignment Move Operator. | |
bool | operator== (csa_wt const &other) const noexcept |
Equality operator. | |
bool | operator!= (csa_wt const &other) const noexcept |
Inequality operator. | |
size_type | serialize (std::ostream &out, structure_tree_node *v=nullptr, std::string name="") const |
Serialize to a stream. | |
void | load (std::istream &in) |
Load from a stream. | |
template<typename archive_t> | |
void | CEREAL_SAVE_FUNCTION_NAME (archive_t &ar) const |
Serialise (save) via cereal. | |
template<typename archive_t> | |
void | CEREAL_LOAD_FUNCTION_NAME (archive_t &ar) |
Serialise (load) via cereal. |
Static Public Member Functions | |
static size_type | max_size () |
Returns the largest size that csa_wt can ever have. |
Public Attributes | |
const alphabet_type::char2comp_type & | char2comp = m_alphabet.char2comp |
const alphabet_type::comp2char_type & | comp2char = m_alphabet.comp2char |
const alphabet_type::C_type & | C = m_alphabet.C |
const alphabet_type::sigma_type & | sigma = m_alphabet.sigma |
const psi_type | psi = psi_type(*this) |
const lf_type | lf = lf_type(*this) |
const bwt_type | bwt = bwt_type(*this) |
const text_type | text = text_type(*this) |
const first_row_type | F = first_row_type(*this) |
const bwt_type | L = bwt_type(*this) |
const isa_type | isa = isa_type(*this) |
sa_sample_type const & | sa_sample = m_sa_sample |
isa_sample_type const & | isa_sample = m_isa_sample |
wavelet_tree_type const & | wavelet_tree = m_wavelet_tree |
Friends | |
class | bwt_of_csa_wt< csa_wt > |
A class for the Compressed Suffix Array (CSA) based on a Wavelet Tree (WT) of the Burrow Wheeler Transform of the original text.
t_wt | Wavelet tree |
t_dens | Sampling density of SA values |
t_int_dens | Sampling density of ISA values |
t_sa_sample_strat | Policy of SA sampling. E.g. sample in SA-order or text-order. |
t_isa | Vector type for ISA sample values. |
t_alphabet_strat | Policy for alphabet representation. |
Definition at line 56 of file csa_wt.hpp.
typedef alphabet_type::alphabet_category sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::alphabet_category |
Definition at line 104 of file csa_wt.hpp.
typedef t_alphabet_strat sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::alphabet_type |
Definition at line 96 of file csa_wt.hpp.
typedef bwt_of_csa_wt<csa_wt> sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::bwt_type |
Definition at line 89 of file csa_wt.hpp.
typedef alphabet_type::char_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::char_type |
Definition at line 97 of file csa_wt.hpp.
typedef alphabet_type::comp_char_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::comp_char_type |
Definition at line 98 of file csa_wt.hpp.
typedef random_access_const_iterator<csa_wt> sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::const_iterator |
Definition at line 78 of file csa_wt.hpp.
typedef const pointer sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::const_pointer |
Definition at line 83 of file csa_wt.hpp.
typedef const value_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::const_reference |
Definition at line 80 of file csa_wt.hpp.
typedef size_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::csa_size_type |
Definition at line 85 of file csa_wt.hpp.
typedef csa_wt sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::csa_type |
Definition at line 100 of file csa_wt.hpp.
typedef ptrdiff_t sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::difference_type |
Definition at line 86 of file csa_wt.hpp.
typedef lf_tag sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::extract_category |
Definition at line 103 of file csa_wt.hpp.
typedef first_row_of_csa<csa_wt> sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::first_row_type |
Definition at line 91 of file csa_wt.hpp.
typedef csa_tag sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::index_category |
Definition at line 102 of file csa_wt.hpp.
typedef t_isa_sample_strat::template type<csa_wt> sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::isa_sample_type |
Definition at line 95 of file csa_wt.hpp.
typedef isa_of_csa_wt<csa_wt> sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::isa_type |
Definition at line 90 of file csa_wt.hpp.
typedef const_iterator sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::iterator |
Definition at line 79 of file csa_wt.hpp.
typedef traverse_csa_wt<csa_wt, false> sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::lf_type |
Definition at line 88 of file csa_wt.hpp.
typedef const_reference* sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::pointer |
Definition at line 82 of file csa_wt.hpp.
typedef traverse_csa_wt<csa_wt, true> sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::psi_type |
Definition at line 87 of file csa_wt.hpp.
typedef const_reference sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::reference |
Definition at line 81 of file csa_wt.hpp.
typedef t_sa_sample_strat::template type<csa_wt> sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::sa_sample_type |
Definition at line 94 of file csa_wt.hpp.
typedef int_vector ::size_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::size_type |
Definition at line 84 of file csa_wt.hpp.
typedef alphabet_type::string_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::string_type |
Definition at line 99 of file csa_wt.hpp.
typedef text_of_csa<csa_wt> sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::text_type |
Definition at line 92 of file csa_wt.hpp.
typedef uint64_t sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::value_type |
Definition at line 77 of file csa_wt.hpp.
typedef t_wt sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::wavelet_tree_type |
Definition at line 93 of file csa_wt.hpp.
anonymous enum |
Enumerator | |
---|---|
sa_sample_dens | |
isa_sample_dens |
Definition at line 71 of file csa_wt.hpp.
|
default |
Default constructor.
|
inline |
Copy constructor.
Definition at line 136 of file csa_wt.hpp.
|
inline |
Move constructor.
Definition at line 146 of file csa_wt.hpp.
sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa, t_alphabet_strat >::csa_wt | ( | cache_config & | config | ) |
Constructor taking a cache_config.
Definition at line 323 of file csa_wt.hpp.
|
inline |
Returns a const_iterator to the first element.
Required for the STL Container Concept.
Definition at line 191 of file csa_wt.hpp.
void sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa, t_alphabet_strat >::CEREAL_LOAD_FUNCTION_NAME | ( | archive_t & | ar | ) |
Serialise (load) via cereal.
Definition at line 441 of file csa_wt.hpp.
void sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa, t_alphabet_strat >::CEREAL_SAVE_FUNCTION_NAME | ( | archive_t & | ar | ) | const |
Serialise (save) via cereal.
Definition at line 425 of file csa_wt.hpp.
|
inline |
Returns if the data strucutre is empty.
Required for the Container Concept of the STL.
Definition at line 182 of file csa_wt.hpp.
|
inline |
Returns a const_iterator to the element after the last element.
Required for the STL Container Concept.
Definition at line 200 of file csa_wt.hpp.
void sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa, t_alphabet_strat >::load | ( | std::istream & | in | ) |
Load from a stream.
in | Input stream to load the data structure from. |
Definition at line 410 of file csa_wt.hpp.
|
inlinestatic |
Returns the largest size that csa_wt can ever have.
Required for the Container Concept of the STL.
Definition at line 173 of file csa_wt.hpp.
|
inlinenoexcept |
Inequality operator.
Definition at line 253 of file csa_wt.hpp.
|
inline |
Assignment Move Operator.
Required for the Assignable Concept of the STL.
Definition at line 232 of file csa_wt.hpp.
|
inline |
Assignment Operator.
Required for the Assignable Concept of the STL.
Definition at line 218 of file csa_wt.hpp.
|
inlinenoexcept |
Equality operator.
Definition at line 246 of file csa_wt.hpp.
|
inline |
[]-operator
i | Index of the value. ![]() |
Definition at line 363 of file csa_wt.hpp.
auto sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa, t_alphabet_strat >::serialize | ( | std::ostream & | out, |
structure_tree_node * | v = nullptr, | ||
std::string | name = "" ) const |
Serialize to a stream.
out | Output stream to write the data structure. |
Definition at line 389 of file csa_wt.hpp.
|
inline |
Number of elements in the
Required for the Container Concept of the STL.
Definition at line 164 of file csa_wt.hpp.
|
friend |
Definition at line 66 of file csa_wt.hpp.
const bwt_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::bwt = bwt_type(*this) |
Definition at line 123 of file csa_wt.hpp.
const alphabet_type::C_type& sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::C = m_alphabet.C |
Definition at line 119 of file csa_wt.hpp.
const alphabet_type::char2comp_type& sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::char2comp = m_alphabet.char2comp |
Definition at line 117 of file csa_wt.hpp.
const alphabet_type::comp2char_type& sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::comp2char = m_alphabet.comp2char |
Definition at line 118 of file csa_wt.hpp.
const first_row_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::F = first_row_type(*this) |
Definition at line 125 of file csa_wt.hpp.
const isa_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::isa = isa_type(*this) |
Definition at line 127 of file csa_wt.hpp.
isa_sample_type const& sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::isa_sample = m_isa_sample |
Definition at line 129 of file csa_wt.hpp.
const bwt_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::L = bwt_type(*this) |
Definition at line 126 of file csa_wt.hpp.
const lf_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::lf = lf_type(*this) |
Definition at line 122 of file csa_wt.hpp.
const psi_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::psi = psi_type(*this) |
Definition at line 121 of file csa_wt.hpp.
sa_sample_type const& sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::sa_sample = m_sa_sample |
Definition at line 128 of file csa_wt.hpp.
const alphabet_type::sigma_type& sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::sigma = m_alphabet.sigma |
Definition at line 120 of file csa_wt.hpp.
const text_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::text = text_type(*this) |
Definition at line 124 of file csa_wt.hpp.
wavelet_tree_type const& sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::wavelet_tree = m_wavelet_tree |
Definition at line 130 of file csa_wt.hpp.