SDSL 3.0.1
Succinct Data Structure Library
Loading...
Searching...
No Matches
sdsl::csa_sada< t_enc_vec, 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) proposed by Sadakane for practical implementation. More...

#include <csa_sada.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_sadaconst_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 t_enc_vec enc_vector_type
 
typedef enc_vector_type psi_type
 
typedef traverse_csa_psi< csa_sada, false > lf_type
 
typedef bwt_of_csa_psi< csa_sadabwt_type
 
typedef isa_of_csa_psi< csa_sadaisa_type
 
typedef text_of_csa< csa_sadatext_type
 
typedef first_row_of_csa< csa_sadafirst_row_type
 
typedef t_sa_sample_strat::template type< csa_sadasa_sample_type
 
typedef t_isa_sample_strat::template type< csa_sadaisa_sample_type
 
typedef t_alphabet_strat alphabet_type
 
typedef alphabet_type::alphabet_category alphabet_category
 
typedef alphabet_type::comp_char_type comp_char_type
 
typedef alphabet_type::char_type char_type
 
typedef alphabet_type::string_type string_type
 
typedef csa_sada csa_type
 
typedef csa_tag index_category
 
typedef psi_tag extract_category
 

Public Member Functions

 csa_sada ()
 Default Constructor. More...
 
 ~csa_sada ()
 Default Destructor. More...
 
 csa_sada (const csa_sada &csa)
 Copy constructor. More...
 
 csa_sada (csa_sada &&csa)
 Move constructor. More...
 
 csa_sada (cache_config &config)
 
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_sadaoperator= (const csa_sada &csa)
 Assignment Copy Operator. More...
 
csa_sadaoperator= (csa_sada &&csa)
 Assignment Move Operator. More...
 
bool operator== (csa_sada const &other) const noexcept
 Equality operator. More...
 
bool operator!= (csa_sada 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
 
template<typename archive_t >
void CEREAL_LOAD_FUNCTION_NAME (archive_t &ar)
 
uint32_t get_sample_dens () const
 

Static Public Member Functions

static size_type max_size ()
 Returns the largest size that csa_sada 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_typepsi = m_psi
 
const lf_type lf = lf_type(*this)
 
const bwt_type bwt = bwt_type(*this)
 
const isa_type isa = isa_type(*this)
 
const bwt_type L = bwt_type(*this)
 
const first_row_type F = first_row_type(*this)
 
const text_type text = text_type(*this)
 
const sa_sample_typesa_sample = m_sa_sample
 
const isa_sample_typeisa_sample = m_isa_sample
 

Static Public Attributes

static const uint32_t linear_decode_limit = 100000
 

Friends

class bwt_of_csa_psi< csa_sada >
 
class traverse_csa_psi< csa_sada, true >
 
class traverse_csa_psi< csa_sada, false >
 

Detailed Description

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
class sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >

A class for the Compressed Suffix Array (CSA) proposed by Sadakane for practical implementation.

Template Parameters
t_enc_vecSpace-efficient vector for increasing integer sequences.
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_wt, sdsl::csa_bitcompressed

Definition at line 48 of file csa_sada.hpp.

Member Typedef Documentation

◆ alphabet_category

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef alphabet_type::alphabet_category sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::alphabet_category

Definition at line 88 of file csa_sada.hpp.

◆ alphabet_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef t_alphabet_strat sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::alphabet_type

Definition at line 87 of file csa_sada.hpp.

◆ bwt_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef bwt_of_csa_psi<csa_sada> sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::bwt_type

Definition at line 81 of file csa_sada.hpp.

◆ char_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef alphabet_type::char_type sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::char_type

Definition at line 90 of file csa_sada.hpp.

◆ comp_char_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef alphabet_type::comp_char_type sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::comp_char_type

Definition at line 89 of file csa_sada.hpp.

◆ const_iterator

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef random_access_const_iterator<csa_sada> sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::const_iterator

Definition at line 69 of file csa_sada.hpp.

◆ const_pointer

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef const pointer sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::const_pointer

Definition at line 74 of file csa_sada.hpp.

◆ const_reference

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef const value_type sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::const_reference

Definition at line 71 of file csa_sada.hpp.

◆ csa_size_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef size_type sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::csa_size_type

Definition at line 76 of file csa_sada.hpp.

◆ csa_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef csa_sada sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::csa_type

Definition at line 92 of file csa_sada.hpp.

◆ difference_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef ptrdiff_t sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::difference_type

Definition at line 77 of file csa_sada.hpp.

◆ enc_vector_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef t_enc_vec sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::enc_vector_type

Definition at line 78 of file csa_sada.hpp.

◆ extract_category

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef psi_tag sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::extract_category

Definition at line 95 of file csa_sada.hpp.

◆ first_row_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef first_row_of_csa<csa_sada> sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::first_row_type

Definition at line 84 of file csa_sada.hpp.

◆ index_category

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef csa_tag sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::index_category

Definition at line 94 of file csa_sada.hpp.

◆ isa_sample_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef t_isa_sample_strat::template type<csa_sada> sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::isa_sample_type

Definition at line 86 of file csa_sada.hpp.

◆ isa_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef isa_of_csa_psi<csa_sada> sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::isa_type

Definition at line 82 of file csa_sada.hpp.

◆ iterator

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef const_iterator sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::iterator

Definition at line 70 of file csa_sada.hpp.

◆ lf_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef traverse_csa_psi<csa_sada, false> sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::lf_type

Definition at line 80 of file csa_sada.hpp.

◆ pointer

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef const_reference* sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::pointer

Definition at line 73 of file csa_sada.hpp.

◆ psi_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef enc_vector_type sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::psi_type

Definition at line 79 of file csa_sada.hpp.

◆ reference

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef const_reference sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::reference

Definition at line 72 of file csa_sada.hpp.

◆ sa_sample_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef t_sa_sample_strat::template type<csa_sada> sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::sa_sample_type

Definition at line 85 of file csa_sada.hpp.

◆ size_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef int_vector ::size_type sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::size_type

Definition at line 75 of file csa_sada.hpp.

◆ string_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef alphabet_type::string_type sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::string_type

Definition at line 91 of file csa_sada.hpp.

◆ text_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef text_of_csa<csa_sada> sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::text_type

Definition at line 83 of file csa_sada.hpp.

◆ value_type

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
typedef uint64_t sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::value_type

Definition at line 68 of file csa_sada.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
anonymous enum
Enumerator
sa_sample_dens 
isa_sample_dens 

Definition at line 62 of file csa_sada.hpp.

Constructor & Destructor Documentation

◆ csa_sada() [1/4]

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::csa_sada ( )
inline

Default Constructor.

Definition at line 134 of file csa_sada.hpp.

◆ ~csa_sada()

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::~csa_sada ( )
inline

Default Destructor.

Definition at line 136 of file csa_sada.hpp.

◆ csa_sada() [2/4]

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::csa_sada ( const csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat > &  csa)
inline

Copy constructor.

Definition at line 139 of file csa_sada.hpp.

◆ csa_sada() [3/4]

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::csa_sada ( csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat > &&  csa)
inline

Move constructor.

Definition at line 150 of file csa_sada.hpp.

◆ csa_sada() [4/4]

template<class t_enc_vec , uint32_t t_dens, uint32_t t_inv_dens, class t_sa_sample_strat , class t_isa , class t_alphabet_strat >
sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa, t_alphabet_strat >::csa_sada ( cache_config config)

Definition at line 387 of file csa_sada.hpp.

Member Function Documentation

◆ begin()

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const_iterator sdsl::csa_sada< t_enc_vec, 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 186 of file csa_sada.hpp.

◆ CEREAL_LOAD_FUNCTION_NAME()

template<class t_enc_vec , 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_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa, t_alphabet_strat >::CEREAL_LOAD_FUNCTION_NAME ( archive_t &  ar)

Definition at line 510 of file csa_sada.hpp.

◆ CEREAL_SAVE_FUNCTION_NAME()

template<class t_enc_vec , 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_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa, t_alphabet_strat >::CEREAL_SAVE_FUNCTION_NAME ( archive_t &  ar) const

Definition at line 494 of file csa_sada.hpp.

◆ empty()

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
bool sdsl::csa_sada< t_enc_vec, 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.A

See also
size

Definition at line 180 of file csa_sada.hpp.

◆ end()

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const_iterator sdsl::csa_sada< t_enc_vec, 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 192 of file csa_sada.hpp.

◆ get_sample_dens()

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
uint32_t sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::get_sample_dens ( ) const
inline

Definition at line 262 of file csa_sada.hpp.

◆ load()

template<class t_enc_vec , uint32_t t_dens, uint32_t t_inv_dens, class t_sa_sample_strat , class t_isa , class t_alphabet_strat >
void sdsl::csa_sada< t_enc_vec, 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 479 of file csa_sada.hpp.

◆ max_size()

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
static size_type sdsl::csa_sada< t_enc_vec, 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_sada can ever have.

Required for the Container Concept of the STL.

See also
size

Definition at line 174 of file csa_sada.hpp.

◆ operator!=()

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
bool sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::operator!= ( csa_sada< t_enc_vec, 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 243 of file csa_sada.hpp.

◆ operator=() [1/2]

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
csa_sada & sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::operator= ( const csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat > &  csa)
inline

Assignment Copy Operator.

Required for the Assignable Concept of the STL.

Definition at line 207 of file csa_sada.hpp.

◆ operator=() [2/2]

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
csa_sada & sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::operator= ( csa_sada< t_enc_vec, 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 221 of file csa_sada.hpp.

◆ operator==()

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
bool sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::operator== ( csa_sada< t_enc_vec, 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 236 of file csa_sada.hpp.

◆ operator[]()

template<class t_enc_vec , uint32_t t_dens, uint32_t t_inv_dens, class t_sa_sample_strat , class t_isa , class t_alphabet_strat >
auto sdsl::csa_sada< t_enc_vec, 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 437 of file csa_sada.hpp.

◆ serialize()

template<class t_enc_vec , uint32_t t_dens, uint32_t t_inv_dens, class t_sa_sample_strat , class t_isa , class t_alphabet_strat >
auto sdsl::csa_sada< t_enc_vec, 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
outOutstream to write the data structure.
Returns
The number of written bytes.

Definition at line 458 of file csa_sada.hpp.

◆ size()

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
size_type sdsl::csa_sada< t_enc_vec, 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 168 of file csa_sada.hpp.

Friends And Related Function Documentation

◆ bwt_of_csa_psi< csa_sada >

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
friend class bwt_of_csa_psi< csa_sada >
friend

Definition at line 57 of file csa_sada.hpp.

◆ traverse_csa_psi< csa_sada, false >

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
friend class traverse_csa_psi< csa_sada, false >
friend

Definition at line 95 of file csa_sada.hpp.

◆ traverse_csa_psi< csa_sada, true >

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
friend class traverse_csa_psi< csa_sada, true >
friend

Definition at line 95 of file csa_sada.hpp.

Member Data Documentation

◆ bwt

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const bwt_type sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::bwt = bwt_type(*this)

Definition at line 125 of file csa_sada.hpp.

◆ C

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const alphabet_type::C_type& sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::C = m_alphabet.C

Definition at line 121 of file csa_sada.hpp.

◆ char2comp

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const alphabet_type::char2comp_type& sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::char2comp = m_alphabet.char2comp

Definition at line 119 of file csa_sada.hpp.

◆ comp2char

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const alphabet_type::comp2char_type& sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::comp2char = m_alphabet.comp2char

Definition at line 120 of file csa_sada.hpp.

◆ F

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const first_row_type sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::F = first_row_type(*this)

Definition at line 128 of file csa_sada.hpp.

◆ isa

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const isa_type sdsl::csa_sada< t_enc_vec, 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_sada.hpp.

◆ isa_sample

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const isa_sample_type& sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::isa_sample = m_isa_sample

Definition at line 131 of file csa_sada.hpp.

◆ L

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const bwt_type sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::L = bwt_type(*this)

Definition at line 127 of file csa_sada.hpp.

◆ lf

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const lf_type sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::lf = lf_type(*this)

Definition at line 124 of file csa_sada.hpp.

◆ linear_decode_limit

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const uint32_t sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::linear_decode_limit = 100000
static

Definition at line 100 of file csa_sada.hpp.

◆ psi

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const psi_type& sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::psi = m_psi

Definition at line 123 of file csa_sada.hpp.

◆ sa_sample

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const sa_sample_type& sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::sa_sample = m_sa_sample

Definition at line 130 of file csa_sada.hpp.

◆ sigma

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const alphabet_type::sigma_type& sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::sigma = m_alphabet.sigma

Definition at line 122 of file csa_sada.hpp.

◆ text

template<class t_enc_vec = enc_vector<>, 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 = byte_alphabet>
const text_type sdsl::csa_sada< t_enc_vec, t_dens, t_inv_dens, t_sa_sample_strat, t_isa_sample_strat, t_alphabet_strat >::text = text_type(*this)

Definition at line 129 of file csa_sada.hpp.


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