Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
BitParallelIndexConstruction.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
Bit parallel string index. Stores a bit vector for each symbol of the alphabet. The bit vector of sym...
Definition: BitParallelIndex.h:51
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: BitParallelIndexConstruction.h:21
static indexes::stringology::BitParallelIndex< SymbolType > construct(const string::LinearString< SymbolType > &w)
Definition: BitParallelIndexConstruction.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