SDSL 3.0.1
Succinct Data Structure Library
sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat > Class Template Reference

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 Types

enum  { sa_sample_dens = t_dens , isa_sample_dens = t_inv_dens }
 
typedef uint64_t value_type
 
typedef random_access_const_iterator< csa_wtconst_iterator
 
typedef const_iterator iterator
 
typedef const value_type const_reference
 
typedef const_reference reference
 
typedef const_referencepointer
 
typedef const pointer const_pointer
 
typedef int_vector ::size_type size_type
 
typedef size_type csa_size_type
 
typedef ptrdiff_t difference_type
 
typedef traverse_csa_wt< csa_wt, true > psi_type
 
typedef traverse_csa_wt< csa_wt, false > lf_type
 
typedef bwt_of_csa_wt< csa_wtbwt_type
 
typedef isa_of_csa_wt< csa_wtisa_type
 
typedef first_row_of_csa< csa_wtfirst_row_type
 
typedef text_of_csa< csa_wttext_type
 
typedef t_wt wavelet_tree_type
 
typedef t_sa_sample_strat::template type< csa_wtsa_sample_type
 
typedef t_isa_sample_strat::template type< csa_wtisa_sample_type
 
typedef t_alphabet_strat alphabet_type
 
typedef alphabet_type::char_type char_type
 
typedef alphabet_type::comp_char_type comp_char_type
 
typedef alphabet_type::string_type string_type
 
typedef csa_wt csa_type
 
typedef csa_tag index_category
 
typedef lf_tag extract_category
 
typedef alphabet_type::alphabet_category alphabet_category
 

Public Member Functions

 csa_wt ()=default
 Default constructor. More...
 
 csa_wt (const csa_wt &csa)
 Copy constructor. More...
 
 csa_wt (csa_wt &&csa)
 Move constructor. More...
 
 csa_wt (cache_config &config)
 Constructor taking a cache_config. More...
 
size_type size () const
 Number of elements in the $\CSA$. More...
 
bool empty () const
 Returns if the data strucutre is empty. More...
 
const_iterator begin () const
 Returns a const_iterator to the first element. More...
 
const_iterator end () const
 Returns a const_iterator to the element after the last element. More...
 
value_type operator[] (size_type i) const
 []-operator More...
 
csa_wtoperator= (const csa_wt &csa)
 Assignment Operator. More...
 
csa_wtoperator= (csa_wt &&csa)
 Assignment Move Operator. More...
 
bool operator== (csa_wt const &other) const noexcept
 Equality operator. More...
 
bool operator!= (csa_wt const &other) const noexcept
 Inequality operator. More...
 
size_type serialize (std::ostream &out, structure_tree_node *v=nullptr, std::string name="") const
 Serialize to a stream. More...
 
void load (std::istream &in)
 Load from a stream. More...
 
template<typename archive_t >
void CEREAL_SAVE_FUNCTION_NAME (archive_t &ar) const
 Serialise (save) via cereal. More...
 
template<typename archive_t >
void CEREAL_LOAD_FUNCTION_NAME (archive_t &ar)
 Serialise (load) via cereal. More...
 

Static Public Member Functions

static size_type max_size ()
 Returns the largest size that csa_wt can ever have. More...
 

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)
 
const sa_sample_typesa_sample = m_sa_sample
 
const isa_sample_typeisa_sample = m_isa_sample
 
const wavelet_tree_typewavelet_tree = m_wavelet_tree
 

Friends

class bwt_of_csa_wt< csa_wt >
 

Detailed Description

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
class sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >

A class for the Compressed Suffix Array (CSA) based on a Wavelet Tree (WT) of the Burrow Wheeler Transform of the original text.

Template Parameters
t_wtWavelet tree
t_densSampling density of SA values
t_int_densSampling density of ISA values
t_sa_sample_stratPolicy of SA sampling. E.g. sample in SA-order or text-order.
t_isaVector type for ISA sample values.
t_alphabet_stratPolicy for alphabet representation.
See also
sdsl::csa_sada, sdsl::csa_bitcompressed

Definition at line 55 of file csa_wt.hpp.

Member Typedef Documentation

◆ alphabet_category

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 103 of file csa_wt.hpp.

◆ alphabet_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 95 of file csa_wt.hpp.

◆ bwt_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 88 of file csa_wt.hpp.

◆ char_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 96 of file csa_wt.hpp.

◆ comp_char_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 97 of file csa_wt.hpp.

◆ const_iterator

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 77 of file csa_wt.hpp.

◆ const_pointer

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 82 of file csa_wt.hpp.

◆ const_reference

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 79 of file csa_wt.hpp.

◆ csa_size_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 84 of file csa_wt.hpp.

◆ csa_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 99 of file csa_wt.hpp.

◆ difference_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 85 of file csa_wt.hpp.

◆ extract_category

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 102 of file csa_wt.hpp.

◆ first_row_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 90 of file csa_wt.hpp.

◆ index_category

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 101 of file csa_wt.hpp.

◆ isa_sample_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 94 of file csa_wt.hpp.

◆ isa_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 89 of file csa_wt.hpp.

◆ iterator

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 78 of file csa_wt.hpp.

◆ lf_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 87 of file csa_wt.hpp.

◆ pointer

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 81 of file csa_wt.hpp.

◆ psi_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 86 of file csa_wt.hpp.

◆ reference

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 80 of file csa_wt.hpp.

◆ sa_sample_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 93 of file csa_wt.hpp.

◆ size_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 83 of file csa_wt.hpp.

◆ string_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 98 of file csa_wt.hpp.

◆ text_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 91 of file csa_wt.hpp.

◆ value_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 76 of file csa_wt.hpp.

◆ wavelet_tree_type

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 92 of file csa_wt.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
anonymous enum
Enumerator
sa_sample_dens 
isa_sample_dens 

Definition at line 70 of file csa_wt.hpp.

Constructor & Destructor Documentation

◆ csa_wt() [1/4]

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::csa_wt ( )
default

Default constructor.

◆ csa_wt() [2/4]

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::csa_wt ( const csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat > &  csa)
inline

Copy constructor.

Definition at line 135 of file csa_wt.hpp.

◆ csa_wt() [3/4]

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::csa_wt ( csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat > &&  csa)
inline

Move constructor.

Definition at line 145 of file csa_wt.hpp.

◆ csa_wt() [4/4]

template<class t_wt , uint32_t t_dens, uint32_t t_inv_dens, class t_sa_sample_strat , class t_isa , class t_alphabet_strat >
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 298 of file csa_wt.hpp.

Member Function Documentation

◆ begin()

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
const_iterator sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::begin ( ) const
inline

Returns a const_iterator to the first element.

Required for the STL Container Concept.

See also
end

Definition at line 181 of file csa_wt.hpp.

◆ CEREAL_LOAD_FUNCTION_NAME()

template<class t_wt , uint32_t t_dens, uint32_t t_inv_dens, class t_sa_sample_strat , class t_isa , class t_alphabet_strat >
template<typename archive_t >
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 410 of file csa_wt.hpp.

◆ CEREAL_SAVE_FUNCTION_NAME()

template<class t_wt , uint32_t t_dens, uint32_t t_inv_dens, class t_sa_sample_strat , class t_isa , class t_alphabet_strat >
template<typename archive_t >
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 394 of file csa_wt.hpp.

◆ empty()

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
bool sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::empty ( ) const
inline

Returns if the data strucutre is empty.

Required for the Container Concept of the STL.

See also
size

Definition at line 175 of file csa_wt.hpp.

◆ end()

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
const_iterator sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::end ( ) const
inline

Returns a const_iterator to the element after the last element.

Required for the STL Container Concept.

See also
begin.

Definition at line 187 of file csa_wt.hpp.

◆ load()

template<class t_wt , uint32_t t_dens, uint32_t t_inv_dens, class t_sa_sample_strat , class t_isa , class t_alphabet_strat >
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.

Parameters
inInput stream to load the data structure from.

Definition at line 379 of file csa_wt.hpp.

◆ max_size()

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
static size_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::max_size ( )
inlinestatic

Returns the largest size that csa_wt can ever have.

Required for the Container Concept of the STL.

See also
size

Definition at line 169 of file csa_wt.hpp.

◆ operator!=()

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
bool sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::operator!= ( csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat > const &  other) const
inlinenoexcept

Inequality operator.

Definition at line 237 of file csa_wt.hpp.

◆ operator=() [1/2]

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
csa_wt & sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::operator= ( const csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat > &  csa)
inline

Assignment Operator.

Required for the Assignable Concept of the STL.

Definition at line 202 of file csa_wt.hpp.

◆ operator=() [2/2]

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
csa_wt & sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::operator= ( csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat > &&  csa)
inline

Assignment Move Operator.

Required for the Assignable Concept of the STL.

Definition at line 216 of file csa_wt.hpp.

◆ operator==()

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
bool sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::operator== ( csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat > const &  other) const
inlinenoexcept

Equality operator.

Definition at line 230 of file csa_wt.hpp.

◆ operator[]()

template<class t_wt , uint32_t t_dens, uint32_t t_inv_dens, class t_sa_sample_strat , class t_isa , class t_alphabet_strat >
auto sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa, t_alphabet_strat >::operator[] ( size_type  i) const
inline

[]-operator

Parameters
iIndex of the value. $ i \in [0..size()-1]$. Required for the STL Random Access Container Concept.
Time complexity
$ \Order{s_{SA}\cdot t_{\Psi}} $, where every $s_{SA}$th suffix array entry is sampled and $t_{\Psi}$ is the access time for an element in the $\Psi$-function.

Definition at line 335 of file csa_wt.hpp.

◆ serialize()

template<class t_wt , uint32_t t_dens, uint32_t t_inv_dens, class t_sa_sample_strat , class t_isa , class t_alphabet_strat >
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.

Parameters
outOutput stream to write the data structure.
Returns
The number of written bytes.

Definition at line 358 of file csa_wt.hpp.

◆ size()

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
size_type sdsl::csa_wt< t_wt, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::size ( ) const
inline

Number of elements in the $\CSA$.

Required for the Container Concept of the STL.

See also
max_size, empty
Time complexity
$ \Order{1} $

Definition at line 163 of file csa_wt.hpp.

Friends And Related Function Documentation

◆ bwt_of_csa_wt< csa_wt >

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
friend class bwt_of_csa_wt< csa_wt >
friend

Definition at line 65 of file csa_wt.hpp.

Member Data Documentation

◆ bwt

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 122 of file csa_wt.hpp.

◆ C

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 118 of file csa_wt.hpp.

◆ char2comp

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 116 of file csa_wt.hpp.

◆ comp2char

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 117 of file csa_wt.hpp.

◆ F

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 124 of file csa_wt.hpp.

◆ isa

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 126 of file csa_wt.hpp.

◆ isa_sample

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
const isa_sample_type& 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 128 of file csa_wt.hpp.

◆ L

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 125 of file csa_wt.hpp.

◆ lf

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 121 of file csa_wt.hpp.

◆ psi

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 120 of file csa_wt.hpp.

◆ sa_sample

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
const sa_sample_type& 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 127 of file csa_wt.hpp.

◆ sigma

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 119 of file csa_wt.hpp.

◆ text

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
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 123 of file csa_wt.hpp.

◆ wavelet_tree

template<class t_wt = wt_huff<>, uint32_t t_dens = 32, uint32_t t_inv_dens = 64, class t_sa_sample_strat = sa_order_sa_sampling<>, class t_isa_sample_strat = isa_sampling<>, class t_alphabet_strat = typename wt_alphabet_trait<t_wt>::type>
const wavelet_tree_type& 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 129 of file csa_wt.hpp.


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