26#include <ext/iostream>
40#include <string/LinearString.h>
53template <
class SymbolType = DefaultSymbolType,
size_t BitmaskBitCount = 64 >
134 return m_string.removeSymbol ( symbol );
168 return out <<
"(BitSetIndex " << instance.m_vectors <<
")";
180template <
class SymbolType,
size_t BitmaskBitCount >
184template <
class SymbolType,
size_t BitmaskBitCount >
189template <
class SymbolType,
size_t BitmaskBitCount >
191 return std::move ( m_vectors );
194template <
class SymbolType,
size_t BitmaskBitCount >
199template <
class SymbolType,
size_t BitmaskBitCount >
201 return std::move ( m_string );
204template <
class SymbolType,
size_t BitmaskBitCount >
206 this->m_vectors [ symbol ] = std::move ( data );
215template <
class SymbolType,
size_t BitmaskBitCount >
static DefaultSymbolType normalizeSymbol(SymbolType &&symbol)
Definition: SymbolNormalize.h:68
Definition: components.hpp:181
Class extending the bitset class from the standard library. Original reason is to allow printing of t...
Definition: bitset.hpp:42
Class extending the map class from the standard library. Original reason is to allow printing of the ...
Definition: map.hpp:48
std::pair< iterator, bool > insert(const T &key, const R &value)
Insert variant with explicit key and value parameters.
Definition: map.hpp:118
Bit set string index. Stores a bit set for each symbol of the alphabet. The bit set of symbol a conta...
Definition: BitSetIndex.h:54
bool removeSymbolFromAlphabet(const SymbolType &symbol)
Definition: BitSetIndex.h:133
bool operator==(const BitSetIndex &other) const
Definition: BitSetIndex.h:155
const ext::map< SymbolType, ext::bitset< BitmaskBitCount > > & getData() const &
Definition: BitSetIndex.h:185
const ext::set< SymbolType > & getAlphabet() const &
Definition: BitSetIndex.h:107
friend ext::ostream & operator<<(ext::ostream &out, const BitSetIndex &instance)
Definition: BitSetIndex.h:167
auto operator<=>(const BitSetIndex &other) const
Definition: BitSetIndex.h:144
BitSetIndex(ext::map< SymbolType, ext::bitset< BitmaskBitCount > > vectors, string::LinearString< SymbolType > string)
Definition: BitSetIndex.h:181
ext::set< SymbolType > && getAlphabet() &&
Definition: BitSetIndex.h:116
const string::LinearString< SymbolType > & getString() const &
Definition: BitSetIndex.h:195
void setBitVectorForSymbol(SymbolType symbol, ext::bitset< BitmaskBitCount > data)
Definition: BitSetIndex.h:205
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
reference_mover< T > make_mover(T ¶m)
Move adaptor construction function specialized to lvalue reference parameter.
Definition: iterator.hpp:468
constexpr auto make_pair(T1 &&x, T2 &&y)
Definition: pair.hpp:79
Definition: CompressedBitParallelTreeIndex.h:40
Definition: RandomStringFactory.cpp:12
Definition: ArithmeticCompression.h:18
static indexes::stringology::BitSetIndex< DefaultSymbolType, BitmaskBitCount > eval(indexes::stringology::BitSetIndex< SymbolType, BitmaskBitCount > &&value)
Definition: BitSetIndex.h:217
Definition: normalize.hpp:13