Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
WideBNDMMatcherConstruction.h
Go to the documentation of this file.
1
6#pragma once
7
9#include <string/LinearString.h>
11
12namespace stringology {
13
14namespace matching {
15
21public:
27 template < class SymbolType >
29
30};
31
32template < class SymbolType >
35 for ( const SymbolType & symbol : w.getAlphabet ( ) )
36 res [ symbol ].resize ( w.getContent ( ).size ( ) );
37
38 for ( unsigned i = 0; i < w.getContent ( ).size ( ); ++i )
39 res [ w.getContent ( ) [ i ] ] [ w.getContent ( ).size ( ) - i - 1 ] = true;
40
42}
43
44} /* namespace matching */
45
46} /* namespace stringology */
47
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: WideBNDMMatcherConstruction.h:20
static indexes::stringology::BitParallelIndex< SymbolType > construct(const string::LinearString< SymbolType > &w)
Definition: WideBNDMMatcherConstruction.h:33
int i
Definition: AllEpsilonClosure.h:118
typename T::SymbolType SymbolType
Definition: ReachableStates.h:176
return res
Definition: MinimizeByPartitioning.h:145
Definition: ArithmeticCompression.h:18