From e2b703385d9065cf7bc3ca89c06f2646138c1191 Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Wed, 14 Dec 2016 19:19:21 +0100
Subject: [PATCH] Use default data types in stringology

---
 .../exact/ExactFactorAutomaton.cpp            | 14 ++++++-------
 .../exact/ExactMatchingAutomaton.cpp          | 14 ++++++-------
 ...tiNondeterministicSubsequenceAutomaton.cpp | 20 +++++++++----------
 ...ctNondeterministicSubsequenceAutomaton.cpp | 14 ++++++-------
 .../exact/ExactSubsequenceAutomaton.cpp       | 16 +++++++--------
 .../stringology/exact/stringMatchTest.cpp     |  4 ++--
 6 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/alib2algo/src/stringology/exact/ExactFactorAutomaton.cpp b/alib2algo/src/stringology/exact/ExactFactorAutomaton.cpp
index 9b3c0d22a8..5effd4eb84 100644
--- a/alib2algo/src/stringology/exact/ExactFactorAutomaton.cpp
+++ b/alib2algo/src/stringology/exact/ExactFactorAutomaton.cpp
@@ -20,15 +20,15 @@ automaton::Automaton ExactFactorAutomaton::construct(const string::String& text)
 }
 
 automaton::EpsilonNFA < > ExactFactorAutomaton::construct(const string::LinearString < >& text) {
-	automaton::EpsilonNFA < > res(label::Label(0));
-	res.addFinalState(label::Label(0));
+	automaton::EpsilonNFA < > res(DefaultStateType(0));
+	res.addFinalState(DefaultStateType(0));
 	res.setInputAlphabet(text.getAlphabet());
 	int i = 1;
-	for(const alphabet::Symbol& symbol : text.getContent()) {
-		res.addState(label::Label(i));
-		res.addFinalState(label::Label(i));
-		res.addTransition(label::Label(i-1), symbol, label::Label(i));
-		res.addTransition(label::Label(0), label::Label(i));
+	for(const DefaultSymbolType& symbol : text.getContent()) {
+		res.addState(DefaultStateType(i));
+		res.addFinalState(DefaultStateType(i));
+		res.addTransition(DefaultStateType(i-1), symbol, DefaultStateType(i));
+		res.addTransition(DefaultStateType(0), DefaultStateType(i));
 		i++;
 	}
 	return res;
diff --git a/alib2algo/src/stringology/exact/ExactMatchingAutomaton.cpp b/alib2algo/src/stringology/exact/ExactMatchingAutomaton.cpp
index fdcede9252..e25c880757 100644
--- a/alib2algo/src/stringology/exact/ExactMatchingAutomaton.cpp
+++ b/alib2algo/src/stringology/exact/ExactMatchingAutomaton.cpp
@@ -20,18 +20,18 @@ automaton::Automaton ExactMatchingAutomaton::construct(const string::String& pat
 }
 
 automaton::NFA < > ExactMatchingAutomaton::construct(const string::LinearString < >& pattern) {
-	automaton::NFA < > res(label::Label(0));
+	automaton::NFA < > res(DefaultStateType(0));
 	res.setInputAlphabet(pattern.getAlphabet());
-	for(const alphabet::Symbol& symbol : pattern.getAlphabet()) {
-		res.addTransition(label::Label(0), symbol, label::Label(0));
+	for(const DefaultSymbolType& symbol : pattern.getAlphabet()) {
+		res.addTransition(DefaultStateType(0), symbol, DefaultStateType(0));
 	}
 	int i = 1;
-	for(const alphabet::Symbol& symbol : pattern.getContent()) {
-		res.addState(label::Label(i));
-		res.addTransition(label::Label(i-1), symbol, label::Label(i));
+	for(const DefaultSymbolType& symbol : pattern.getContent()) {
+		res.addState(DefaultStateType(i));
+		res.addTransition(DefaultStateType(i-1), symbol, DefaultStateType(i));
 		i++;
 	}
-	res.addFinalState(label::Label(i-1));
+	res.addFinalState(DefaultStateType(i-1));
 	return res;
 }
 
diff --git a/alib2algo/src/stringology/exact/ExactMultiNondeterministicSubsequenceAutomaton.cpp b/alib2algo/src/stringology/exact/ExactMultiNondeterministicSubsequenceAutomaton.cpp
index 11e031ebea..e1eeca008c 100644
--- a/alib2algo/src/stringology/exact/ExactMultiNondeterministicSubsequenceAutomaton.cpp
+++ b/alib2algo/src/stringology/exact/ExactMultiNondeterministicSubsequenceAutomaton.cpp
@@ -19,24 +19,24 @@ automaton::Automaton ExactMultiNondeterministicSubsequenceAutomaton::construct(c
 }
 
 automaton::EpsilonNFA < > ExactMultiNondeterministicSubsequenceAutomaton::construct(const std::set<string::LinearString < >>& texts) {
-	automaton::EpsilonNFA < > res(label::Label(0));
-	res.addFinalState(label::Label(0));
+	automaton::EpsilonNFA < > res(DefaultStateType(0));
+	res.addFinalState(DefaultStateType(0));
 
 	int j = 0;
 	for(const string::LinearString < >& text : texts) {
 		res.addInputSymbols(text.getAlphabet());
 
-		res.addState(label::Label(0, j));
-		res.addFinalState(label::Label(0, j));
-		res.addTransition(label::Label(0), label::Label(0, j));
+		res.addState(DefaultStateType(0, j));
+		res.addFinalState(DefaultStateType(0, j));
+		res.addTransition(DefaultStateType(0), DefaultStateType(0, j));
 
 		int i = 1;
-		for(const alphabet::Symbol& symbol : text.getContent()) {
-			res.addState(label::Label(i, j));
-			res.addFinalState(label::Label(i, j));
+		for(const DefaultSymbolType& symbol : text.getContent()) {
+			res.addState(DefaultStateType(i, j));
+			res.addFinalState(DefaultStateType(i, j));
 
-			res.addTransition(label::Label(i-1, j), symbol, label::Label(i, j));
-			res.addTransition(label::Label(i-1, j), label::Label(i, j));
+			res.addTransition(DefaultStateType(i-1, j), symbol, DefaultStateType(i, j));
+			res.addTransition(DefaultStateType(i-1, j), DefaultStateType(i, j));
 			i++;
 		}
 		j++;
diff --git a/alib2algo/src/stringology/exact/ExactNondeterministicSubsequenceAutomaton.cpp b/alib2algo/src/stringology/exact/ExactNondeterministicSubsequenceAutomaton.cpp
index 8e12a8bfd1..255b022a57 100644
--- a/alib2algo/src/stringology/exact/ExactNondeterministicSubsequenceAutomaton.cpp
+++ b/alib2algo/src/stringology/exact/ExactNondeterministicSubsequenceAutomaton.cpp
@@ -20,17 +20,17 @@ automaton::Automaton ExactNondeterministicSubsequenceAutomaton::construct(const
 }
 
 automaton::EpsilonNFA < > ExactNondeterministicSubsequenceAutomaton::construct(const string::LinearString < >& text) {
-	automaton::EpsilonNFA < > res(label::Label(0));
-	res.addFinalState(label::Label(0));
+	automaton::EpsilonNFA < > res(DefaultStateType(0));
+	res.addFinalState(DefaultStateType(0));
 	res.setInputAlphabet(text.getAlphabet());
 
 	int i = 1;
-	for(const alphabet::Symbol& symbol : text.getContent()) {
-		res.addState(label::Label(i));
-		res.addFinalState(label::Label(i));
+	for(const DefaultSymbolType& symbol : text.getContent()) {
+		res.addState(DefaultStateType(i));
+		res.addFinalState(DefaultStateType(i));
 
-		res.addTransition(label::Label(i-1), symbol, label::Label(i));
-		res.addTransition(label::Label(i-1), label::Label(i));
+		res.addTransition(DefaultStateType(i-1), symbol, DefaultStateType(i));
+		res.addTransition(DefaultStateType(i-1), DefaultStateType(i));
 		i++;
 	}
 	return res;
diff --git a/alib2algo/src/stringology/exact/ExactSubsequenceAutomaton.cpp b/alib2algo/src/stringology/exact/ExactSubsequenceAutomaton.cpp
index 5438524cb5..bb92c67a80 100644
--- a/alib2algo/src/stringology/exact/ExactSubsequenceAutomaton.cpp
+++ b/alib2algo/src/stringology/exact/ExactSubsequenceAutomaton.cpp
@@ -20,22 +20,22 @@ automaton::Automaton ExactSubsequenceAutomaton::construct(const string::String&
 }
 
 automaton::DFA<> ExactSubsequenceAutomaton::construct(const string::LinearString < >& text) {
-	std::map<alphabet::Symbol, int> f;
-	for(const alphabet::Symbol& symbol : text.getAlphabet()) {
+	std::map<DefaultSymbolType, int> f;
+	for(const DefaultSymbolType& symbol : text.getAlphabet()) {
 		f[symbol] = 0;
 	}
 
-	automaton::DFA<> res(label::Label(0));
-	res.addFinalState(label::Label(0));
+	automaton::DFA<> res(DefaultStateType(0));
+	res.addFinalState(DefaultStateType(0));
 	res.setInputAlphabet(text.getAlphabet());
 
 	int i = 1;
-	for(const alphabet::Symbol& symbol : text.getContent()) {
-		res.addState(label::Label(i));
-		res.addFinalState(label::Label(i));
+	for(const DefaultSymbolType& symbol : text.getContent()) {
+		res.addState(DefaultStateType(i));
+		res.addFinalState(DefaultStateType(i));
 
 		for(int j = f[symbol]; j < i; j++) {
-			res.addTransition(label::Label(j), symbol, label::Label(i));
+			res.addTransition(DefaultStateType(j), symbol, DefaultStateType(i));
 		}
 		f[symbol] = i;
 		i++;
diff --git a/alib2algo/test-src/stringology/exact/stringMatchTest.cpp b/alib2algo/test-src/stringology/exact/stringMatchTest.cpp
index 92be072287..06fd7d387c 100644
--- a/alib2algo/test-src/stringology/exact/stringMatchTest.cpp
+++ b/alib2algo/test-src/stringology/exact/stringMatchTest.cpp
@@ -16,8 +16,8 @@ void stringMatchTest::tearDown() {
 }
 
 void stringMatchTest::testStringMatch() {
-	string::LinearString < > linear1({alphabet::Symbol(0), alphabet::Symbol(1), alphabet::Symbol(2), alphabet::Symbol(3)});
-	string::LinearString < > linear2({alphabet::Symbol(1), alphabet::Symbol(2), alphabet::Symbol(3)});
+	string::LinearString < > linear1({DefaultSymbolType(0), DefaultSymbolType(1), DefaultSymbolType(2), DefaultSymbolType(3)});
+	string::LinearString < > linear2({DefaultSymbolType(1), DefaultSymbolType(2), DefaultSymbolType(3)});
 
 	CPPUNIT_ASSERT ( stringology::exact::ExactFactorMatch::match ( linear1, linear2 ).count ( 1 ) );
 }
-- 
GitLab