8#ifndef INCLUDED_SDSL_CSA_UNCOMPRESSED
9#define INCLUDED_SDSL_CSA_UNCOMPRESSED
48template <
class t_alphabet_strat =
byte_alphabet>
73 typedef typename alphabet_type::char_type
char_type;
94 const typename alphabet_type::char2comp_type &
char2comp = m_alphabet.char2comp;
95 const typename alphabet_type::comp2char_type &
comp2char = m_alphabet.comp2char;
96 const typename alphabet_type::C_type &
C = m_alphabet.C;
97 const typename alphabet_type::sigma_type &
sigma = m_alphabet.sigma;
118 *
this = std::move(csa);
198 *
this = std::move(tmp);
211 m_sa = std::move(csa.m_sa);
212 m_isa = std::move(csa.m_isa);
213 m_alphabet = std::move(csa.m_alphabet);
221 return (m_sa == other.m_sa) && (m_isa == other.m_isa) && (m_alphabet == other.m_alphabet);
227 return !(*
this == other);
238 written_bytes += m_sa.serialize(out, child,
"m_sa");
239 written_bytes += m_isa.serialize(out, child,
"m_isa");
240 written_bytes += m_alphabet.serialize(out, child,
"m_alphabet");
242 return written_bytes;
252 template <
typename archive_t>
260 template <
typename archive_t>
286 if (cc == 0 and c != 0)
291 while (lower_b + 1 < upper_b)
300 return lower_b -
C[cc] + 1;
303 return psi[lower_b] < i;
319 if (cc == 0 and c != 0)
323 return psi[
C[cc] + i - 1];
cereal.hpp offers cereal support
A wrapper for the bwt of a compressed suffix array that is based on the function.
A class for the uncompressed suffix array (SA).
bwt_of_csa_psi< csa_bitcompressed > bwt_type
csa_bitcompressed()
Default constructor.
sa_sample_type const & sa_sample
const alphabet_type::char2comp_type & char2comp
bool operator==(csa_bitcompressed const &other) const noexcept
Equality operator.
traverse_csa_saisa< csa_bitcompressed, false > lf_type
const alphabet_type::C_type & C
const alphabet_type::comp2char_type & comp2char
_isa_sampling< csa_bitcompressed, 0 > isa_sample_type
void load(std::istream &in)
_sa_order_sampling< csa_bitcompressed, 0 > sa_sample_type
bool empty() const
Returns if the data structure is empty.
const_reference * pointer
size_type get_sample_dens() const
value_type operator[](size_type i) const
[]-operator
const alphabet_type::sigma_type & sigma
bool operator!=(csa_bitcompressed const &other) const noexcept
Inequality operator.
csa_bitcompressed & operator=(csa_bitcompressed &&csa)
Assignment Move Operator.
size_type size() const
Number of elements in the instance.
csa_bitcompressed csa_type
alphabet_type::string_type string_type
size_type serialize(std::ostream &out, structure_tree_node *v=nullptr, std::string name="") const
Serialize to a stream.
csa_bitcompressed(csa_bitcompressed &&csa)
Move constructor.
csa_bitcompressed(cache_config &config)
Constructor.
random_access_const_iterator< csa_bitcompressed > const_iterator
traverse_csa_saisa< csa_bitcompressed, true > psi_type
text_of_csa< csa_bitcompressed > text_type
alphabet_type::char_type char_type
const_iterator begin() const
Returns a const_iterator to the first element.
isa_sample_type const & isa_sample
const pointer const_pointer
csa_bitcompressed(csa_bitcompressed const &csa)
Copy constructor.
void CEREAL_LOAD_FUNCTION_NAME(archive_t &ar)
csa_bitcompressed & operator=(csa_bitcompressed const &csa)
Assignment Operator.
const_iterator end() const
Returns a const_iterator to the element after the last element.
ptrdiff_t difference_type
const value_type const_reference
static size_type max_size()
Returns the largest size that csa_bitcompressed can ever have.
void CEREAL_SAVE_FUNCTION_NAME(archive_t &ar) const
const_reference reference
alphabet_type::comp_char_type comp_char_type
t_alphabet_strat alphabet_type
first_row_of_csa< csa_bitcompressed > first_row_type
int_vector ::size_type size_type
alphabet_type::alphabet_category alphabet_category
uint64_t size() const
Returns the number of elements currently stored.
int_vector_size_type size_type
static size_type max_size() noexcept
Maximum size of the int_vector.
Generic iterator for a random access container.
static structure_tree_node * add_child(structure_tree_node *v, std::string const &name, std::string const &type)
static void add_size(structure_tree_node *v, uint64_t value)
A helper class for the function for (compressed) suffix arrays which provide also the inverse suffix...
csa_alphabet_strategy.hpp includes different strategy classes for representing an alphabet of a CSA.
csa_sampling_strategy.hpp includes different strategy classes for suffix array sampling in the CSAs.
int_vector.hpp contains the sdsl::int_vector class.
int_vector_buffer.hpp contains the sdsl::int_vector_buffer class.
io.hpp contains some methods for reading/writing sdsl structures.
iterators.hpp contains an generic iterator for random access containers.
Namespace for the succinct data structure library.
std::string cache_file_name(std::string const &key, cache_config const &config)
Returns the file name of the resource.
constexpr char const * key_text()
Contains declarations and definitions of data structure concepts.
Helper class for construction process.
structure_tree.hpp contains a helper class which can represent the memory structure of a class.
suffix_array_helper.hpp contains some helper classes for CSTs
util.hpp contains some helper methods for int_vector and other stuff like demangle class names.