Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
CompressedBitParallelIndexConstruction.h
Go to the documentation of this file.
1
6#pragma once
7
9#include <string/LinearString.h>
11
12namespace stringology {
13
14namespace indexing {
15
22public:
28 template < class SymbolType >
30
31};
32
33template < class SymbolType >
36 for ( const SymbolType & symbol : w.getAlphabet ( ) )
37 res [ symbol ].resize ( w.getContent ( ).size ( ) );
38
39 for ( unsigned i = 0; i < w.getContent ( ).size ( ); ++i )
40 res [ w.getContent ( ) [ i ] ] [ i ] = true;
41
43}
44
45} /* namespace indexing */
46
47} /* namespace stringology */
48
Class extending the map class from the standard library. Original reason is to allow printing of the ...
Definition: map.hpp:48
Compressed bit parallel string index. Stores a bit vector for each symbol of the alphabet....
Definition: CompressedBitParallelIndex.h:53
Linear string.
Definition: LinearString.h:57
const ext::set< SymbolType > & getAlphabet() const &
Definition: LinearString.h:103
const ext::vector< SymbolType > & getContent() const &
Definition: LinearString.h:238
Definition: CompressedBitParallelIndexConstruction.h:21
static indexes::stringology::CompressedBitParallelIndex< SymbolType > construct(const string::LinearString< SymbolType > &w)
Definition: CompressedBitParallelIndexConstruction.h:34
int i
Definition: AllEpsilonClosure.h:118
typename T::SymbolType SymbolType
Definition: ReachableStates.h:176
return res
Definition: MinimizeByPartitioning.h:145
Definition: ArithmeticCompression.h:18