12#include <string/LinearString.h>
26 template <
class SymbolType >
34 template <
class SymbolType >
38template <
class SymbolType >
46 for (
unsigned int j = 0; j<allowed_errors + 1; j++) {
47 for (
unsigned int i = j;
i<pattern.
getContent().size() + 1;
i++) {
56 result.addTransition(initial_state, symbol, initial_state);
59 for (
unsigned int j = 0; j < allowed_errors + 1; j++) {
60 for (
unsigned int i = j;
i<pattern.
getContent().size();
i++) {
68 for (
unsigned int j = 0; j<allowed_errors; j++) {
69 for (
unsigned int i = j;
i<pattern.
getContent().size();
i++) {
75 result.addTransition(from, symbol, to);
86template <
class SymbolType >
95 alphabet_without_wildcard.erase(wildcard);
98 for (
unsigned int j = 0; j<allowed_errors + 1; j++) {
99 for (
unsigned int i = j;
i<pattern.
getContent().size() + 1;
i++) {
107 for (
const SymbolType& symbol : alphabet_without_wildcard) {
108 result.addTransition(initial_state, symbol, initial_state);
111 for (
unsigned int j = 0; j < allowed_errors + 1; j++) {
112 for (
unsigned int i = j;
i<pattern.
getContent().size();
i++) {
116 for (
const SymbolType& symbol : alphabet_without_wildcard) {
117 result.addTransition(from, symbol, to);
126 for (
unsigned int j = 0; j<allowed_errors; j++) {
127 for (
unsigned int i = j;
i<pattern.
getContent().size();
i++) {
132 for (
const SymbolType & symbol : alphabet_without_wildcard ) {
134 result.addTransition(from, symbol, to);
Nondeterministic finite automaton. Accepts regular languages.
Definition: NFA.h:66
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
Linear wildcard string.
Definition: WildcardLinearString.h:44
const ext::vector< SymbolType > & getContent() const &
Definition: WildcardLinearString.h:279
const SymbolType & getWildcardSymbol() const &
Definition: WildcardLinearString.h:139
const ext::set< SymbolType > & getAlphabet() const &
Definition: WildcardLinearString.h:112
Definition: HammingMatchingAutomaton.h:19
static automaton::NFA< SymbolType, ext::pair< unsigned int, unsigned int > > construct(const string::LinearString< SymbolType > &pattern, unsigned int allowed_errors)
Definition: HammingMatchingAutomaton.h:39
int i
Definition: AllEpsilonClosure.h:118
typename T::SymbolType SymbolType
Definition: ReachableStates.h:176
for(const StateType &state :fsm.getStates()) renamingData.insert(std Rename::RenamedAutomaton< T > result(renamingData.at(fsm.getInitialState()))
Definition: Rename.h:253
constexpr auto make_pair(T1 &&x, T2 &&y)
Definition: pair.hpp:79
Definition: ArithmeticCompression.h:18