54template <
class SymbolType = DefaultSymbolType >
117 return this->
template accessComponent < GeneralAlphabet > ( ).get ( );
126 return std::move ( this->
template accessComponent < GeneralAlphabet > ( ).
get ( ) );
143 return this->
template accessComponent < GeneralAlphabet > ( ).remove ( symbol );
177 return out <<
"(CompressedBitParallelTreeIndex " << instance.m_vectors <<
", " << instance.m_jumpTable <<
")";
189template <
class SymbolType >
193template <
class SymbolType >
198template <
class SymbolType >
200 return std::move ( m_vectors );
203template <
class SymbolType >
208template <
class SymbolType >
210 return std::move ( m_jumpTable );
213template <
class SymbolType >
221 if ( compressedBitVector.second.size ( ) > index && compressedBitVector.second [ index ] ) {
222 res.push_back ( compressedBitVector.first );
226 }
while (
res.size ( ) == index ++ + 1 );
231template <
class SymbolType >
233 this->m_vectors [ symbol ] = std::move ( data );
247template <
class SymbolType >
261 return content.find ( symbol ) != content.
end ( );
292template <
class SymbolType >
static common::ranked_symbol< DefaultSymbolType > normalizeRankedSymbol(common::ranked_symbol< SymbolType > &&symbol)
Definition: SymbolNormalize.h:81
static ext::set< common::ranked_symbol< DefaultSymbolType > > normalizeRankedAlphabet(ext::set< common::ranked_symbol< SymbolType > > &&symbols)
Definition: SymbolNormalize.h:59
Definition: SparseBoolVector.hpp:27
Definition: ranked_symbol.hpp:20
Definition: components.hpp:181
static void valid(const indexes::arbology::CompressedBitParallelTreeIndex< SymbolType > &, const common::ranked_symbol< SymbolType > &)
Definition: CompressedBitParallelTreeIndex.h:282
static bool available(const indexes::arbology::CompressedBitParallelTreeIndex< SymbolType > &, const common::ranked_symbol< SymbolType > &)
Definition: CompressedBitParallelTreeIndex.h:272
static bool used(const indexes::arbology::CompressedBitParallelTreeIndex< common::ranked_symbol< SymbolType > > &index, const common::ranked_symbol< SymbolType > &symbol)
Definition: CompressedBitParallelTreeIndex.h:258
Definition: setComponents.hpp:26
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
auto end() &
Inherited behavior of end for non-const instance.
Definition: map.hpp:215
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
Compressed bit parallel tree index. Stores a bit vector for each symbol of the alphabet....
Definition: CompressedBitParallelTreeIndex.h:55
CompressedBitParallelTreeIndex(ext::set< common::ranked_symbol< SymbolType > > alphabet, ext::map< common::ranked_symbol< SymbolType >, common::SparseBoolVector > vectors, ext::vector< int > jumpTable)
Definition: CompressedBitParallelTreeIndex.h:190
bool operator==(const CompressedBitParallelTreeIndex &other) const
Definition: CompressedBitParallelTreeIndex.h:164
const ext::map< common::ranked_symbol< SymbolType >, common::SparseBoolVector > & getData() const &
Definition: CompressedBitParallelTreeIndex.h:194
friend ext::ostream & operator<<(ext::ostream &out, const CompressedBitParallelTreeIndex &instance)
Definition: CompressedBitParallelTreeIndex.h:176
bool removeSymbolFromAlphabet(const common::ranked_symbol< SymbolType > &symbol)
Definition: CompressedBitParallelTreeIndex.h:142
auto operator<=>(const CompressedBitParallelTreeIndex &other) const
Definition: CompressedBitParallelTreeIndex.h:153
ext::set< common::ranked_symbol< SymbolType > > && getAlphabet() &&
Definition: CompressedBitParallelTreeIndex.h:125
void setCompressedBitVectorForSymbol(common::ranked_symbol< SymbolType > symbol, common::SparseBoolVector data)
Definition: CompressedBitParallelTreeIndex.h:232
const ext::set< common::ranked_symbol< SymbolType > > & getAlphabet() const &
Definition: CompressedBitParallelTreeIndex.h:116
ext::vector< common::ranked_symbol< SymbolType > > getString() const
Definition: CompressedBitParallelTreeIndex.h:214
const ext::vector< int > & getJumps() const &
Definition: CompressedBitParallelTreeIndex.h:204
Definition: BarSymbol.cpp:12
Definition: BoyerMooreHorspool.h:22
return res
Definition: MinimizeByPartitioning.h:145
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
auto & get(ext::ptr_array< Type, N > &tpl)
Specialisation of get function for pointer arrays.
Definition: ptr_array.hpp:693
static indexes::arbology::CompressedBitParallelTreeIndex< > eval(indexes::arbology::CompressedBitParallelTreeIndex< SymbolType > &&value)
Definition: CompressedBitParallelTreeIndex.h:294
Definition: normalize.hpp:13