26#include <ext/iostream>
27#include <ext/algorithm>
37#include <string/LinearString.h>
50template <
class SymbolType = DefaultSymbolType >
114 return std::move ( m_string ).getAlphabet ( );
130 return m_string.removeSymbol ( symbol );
164 return out <<
"(SuffixArray " << instance.m_data <<
", " << instance.m_string <<
")";
176template <
class SymbolType >
180template <
class SymbolType >
185template <
class SymbolType >
187 return std::move ( m_data );
190template <
class SymbolType >
195template <
class SymbolType >
197 return std::move ( m_string );
200template <
class SymbolType >
202 this->m_data = std::move ( data );
216template <
class SymbolType >
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
Suffix array string index. Linear representation of all suffixes ordered lexicographically....
Definition: SuffixArray.h:51
SuffixArray(ext::vector< unsigned > data, string::LinearString< SymbolType > string)
Definition: SuffixArray.h:177
void setData(ext::vector< unsigned > data)
Definition: SuffixArray.h:201
const ext::vector< unsigned > & getData() const &
Definition: SuffixArray.h:181
bool operator==(const SuffixArray &other) const
Definition: SuffixArray.h:151
ext::set< SymbolType > && getAlphabet() &&
Definition: SuffixArray.h:113
auto operator<=>(const SuffixArray &other) const
Definition: SuffixArray.h:140
const string::LinearString< SymbolType > & getString() const &
Definition: SuffixArray.h:191
bool removeSymbolFromAlphabet(const SymbolType &symbol)
Definition: SuffixArray.h:129
friend ext::ostream & operator<<(ext::ostream &out, const SuffixArray &instance)
Definition: SuffixArray.h:163
const ext::set< SymbolType > & getAlphabet() const &
Definition: SuffixArray.h:104
Linear string.
Definition: LinearString.h:57
const ext::set< SymbolType > & getAlphabet() const &
Definition: LinearString.h:103
typename T::SymbolType SymbolType
Definition: ReachableStates.h:176
Definition: normalize.hpp:10
constexpr tuple< Elements &... > tie(Elements &... args) noexcept
Helper of extended tuple of references construction. The tuple is constructed to reffer to values in ...
Definition: tuple.hpp:218
Definition: CompressedBitParallelTreeIndex.h:40
Definition: RandomStringFactory.cpp:12
Definition: ArithmeticCompression.h:18
static indexes::stringology::SuffixArray< > eval(indexes::stringology::SuffixArray< SymbolType > &&value)
Definition: SuffixArray.h:218
Definition: normalize.hpp:13