From fae1e9c09b01dbe27698c664a8447c60dab085cb Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Mon, 7 Aug 2017 20:23:31 +0200
Subject: [PATCH] move algo extensions to ext namespace

---
 .../determinize/DeterminizeIDPDAPart.cxx      |  2 +-
 .../determinize/DeterminizeNFAPart.hxx        |  4 ++--
 .../determinize/DeterminizeRHDPDAPart.cxx     |  2 +-
 .../determinize/DeterminizeVPAPart.cxx        |  2 +-
 .../src/grammar/generate/RandomizeGrammar.h   |  2 +-
 .../ToPostfixPushdownAutomatonGlushkov.cpp    |  2 +-
 alib2cli/src/parser/Parser.h                  |  2 +-
 alib2common/src/common/createUnique.hpp       |  2 +-
 alib2data/src/automaton/PDA/DPDA.h            |  2 +-
 alib2data/src/automaton/TA/DFTA.h             |  2 +-
 alib2data/src/automaton/TA/NFTA.h             |  2 +-
 alib2data/src/tree/common/TreeAuxiliary.h     |  4 ++--
 alib2std/src/extensions/algorithm.hpp         |  4 ++--
 .../test-src/extensions/AlgorithmTest.cpp     | 22 +++++++++----------
 14 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/alib2algo/src/automaton/determinize/DeterminizeIDPDAPart.cxx b/alib2algo/src/automaton/determinize/DeterminizeIDPDAPart.cxx
index da08b34a96..761605ad6f 100644
--- a/alib2algo/src/automaton/determinize/DeterminizeIDPDAPart.cxx
+++ b/alib2algo/src/automaton/determinize/DeterminizeIDPDAPart.cxx
@@ -63,7 +63,7 @@ automaton::InputDrivenDPDA < > Determinize::determinize ( const automaton::Input
 	for ( const DefaultStateType & dfaState : res.getStates ( ) ) {
 		const std::set < DefaultStateType > & nfaStates = recreateNFAStates ( dfaState );
 
-		if(!std::excludes(finalLabels.begin(), finalLabels.end(), nfaStates.begin(), nfaStates.end()))
+		if(!ext::excludes(finalLabels.begin(), finalLabels.end(), nfaStates.begin(), nfaStates.end()))
 			res.addFinalState ( dfaState );
 	}
 
diff --git a/alib2algo/src/automaton/determinize/DeterminizeNFAPart.hxx b/alib2algo/src/automaton/determinize/DeterminizeNFAPart.hxx
index 3947a860d5..9111d7a8cb 100644
--- a/alib2algo/src/automaton/determinize/DeterminizeNFAPart.hxx
+++ b/alib2algo/src/automaton/determinize/DeterminizeNFAPart.hxx
@@ -59,7 +59,7 @@ automaton::DFA < SymbolType, std::set < StateType > > Determinize::determinize (
 	 // 5
 	const std::set < StateType > & finalLabels = nfa.getFinalStates();
 	for ( const std::set < StateType > & dfaState : res.getStates ( ) )
-		if ( ! std::excludes ( finalLabels.begin ( ), finalLabels.end ( ), dfaState.begin ( ), dfaState.end ( ) ) )
+		if ( ! ext::excludes ( finalLabels.begin ( ), finalLabels.end ( ), dfaState.begin ( ), dfaState.end ( ) ) )
 			res.addFinalState ( dfaState );
 
 	return res;
@@ -107,7 +107,7 @@ automaton::DFA < SymbolType, std::set < StateType > > Determinize::determinize (
 	 // 5
 	const std::set < StateType > & finalLabels = nfa.getFinalStates();
 	for ( const std::set < StateType > & dfaState : res.getStates ( ) )
-		if ( ! std::excludes ( finalLabels.begin ( ), finalLabels.end ( ), dfaState.begin ( ), dfaState.end ( ) ) )
+		if ( ! ext::excludes ( finalLabels.begin ( ), finalLabels.end ( ), dfaState.begin ( ), dfaState.end ( ) ) )
 			res.addFinalState ( dfaState );
 
 	return res;
diff --git a/alib2algo/src/automaton/determinize/DeterminizeRHDPDAPart.cxx b/alib2algo/src/automaton/determinize/DeterminizeRHDPDAPart.cxx
index 7c2a496509..3befb73c99 100644
--- a/alib2algo/src/automaton/determinize/DeterminizeRHDPDAPart.cxx
+++ b/alib2algo/src/automaton/determinize/DeterminizeRHDPDAPart.cxx
@@ -262,7 +262,7 @@ automaton::RealTimeHeightDeterministicDPDA < > Determinize::determinize(const au
 	for(const DefaultStateType& state : d.getStates()) {
 		const std::set<DefaultStateType> labels = retrieveDSubSet(unpackFromStateLabel(state));
 
-		if(!std::excludes(finalLabels.begin(), finalLabels.end(), labels.begin(), labels.end())) {
+		if(!ext::excludes(finalLabels.begin(), finalLabels.end(), labels.begin(), labels.end())) {
 			d.addFinalState(state);
 		}
 	}
diff --git a/alib2algo/src/automaton/determinize/DeterminizeVPAPart.cxx b/alib2algo/src/automaton/determinize/DeterminizeVPAPart.cxx
index 39ea6c3c63..98ef78cd9e 100644
--- a/alib2algo/src/automaton/determinize/DeterminizeVPAPart.cxx
+++ b/alib2algo/src/automaton/determinize/DeterminizeVPAPart.cxx
@@ -197,7 +197,7 @@ automaton::VisiblyPushdownDPDA < > Determinize::determinize(const automaton::Vis
 	for(const DefaultStateType& state : d.getStates()) {
 		const std::set<DefaultStateType> labels = retrieveDSubSet(unpackFromStateLabel(state));
 
-		if(!std::excludes(finalLabels.begin(), finalLabels.end(), labels.begin(), labels.end())) {
+		if(!ext::excludes(finalLabels.begin(), finalLabels.end(), labels.begin(), labels.end())) {
 			d.addFinalState(state);
 		}
 	}
diff --git a/alib2algo/src/grammar/generate/RandomizeGrammar.h b/alib2algo/src/grammar/generate/RandomizeGrammar.h
index fc81ebced3..2260101e70 100644
--- a/alib2algo/src/grammar/generate/RandomizeGrammar.h
+++ b/alib2algo/src/grammar/generate/RandomizeGrammar.h
@@ -127,7 +127,7 @@ grammar::CFG < SymbolType > RandomizeGrammar::randomize ( const grammar::CFG < S
 
 	for ( const std::pair < SymbolType, std::set < std::vector < SymbolType > > > & rule : gram.getRules ( ) )
 		for ( const std::vector < SymbolType > & rhs : rule.second )
-			res.addRule ( symbolPermutationMap.find ( rule.first )->second, std::transform < SymbolType > ( rhs, [ & ] ( const SymbolType & elem ) {
+			res.addRule ( symbolPermutationMap.find ( rule.first )->second, ext::transform < SymbolType > ( rhs, [ & ] ( const SymbolType & elem ) {
 						if ( gram.getNonterminalAlphabet ( ).count ( elem ) )
 							return symbolPermutationMap.find ( elem )->second;
 						else
diff --git a/alib2algo/src/rte/convert/ToPostfixPushdownAutomatonGlushkov.cpp b/alib2algo/src/rte/convert/ToPostfixPushdownAutomatonGlushkov.cpp
index 977a982d1c..86906d5486 100644
--- a/alib2algo/src/rte/convert/ToPostfixPushdownAutomatonGlushkov.cpp
+++ b/alib2algo/src/rte/convert/ToPostfixPushdownAutomatonGlushkov.cpp
@@ -28,7 +28,7 @@ automaton::NPDA < > ToPostfixPushdownAutomatonGlushkov::convert ( const rte::RTE
 }
 
 std::vector < DefaultSymbolType > phi ( const std::vector < common::ranked_symbol < > > & follow ) {
-	return std::transform < DefaultSymbolType > ( follow, []( const common::ranked_symbol < > & symbol ) { return DefaultSymbolType ( alphabet::RankedSymbol < > ( symbol ) ); } );
+	return ext::transform < DefaultSymbolType > ( follow, []( const common::ranked_symbol < > & symbol ) { return DefaultSymbolType ( alphabet::RankedSymbol < > ( symbol ) ); } );
 }
 
 bool isSubstSymbolPresent ( const std::set < common::ranked_symbol < > > & container, const std::set < common::ranked_symbol < > > & substAlphabet ) {
diff --git a/alib2cli/src/parser/Parser.h b/alib2cli/src/parser/Parser.h
index 279f1e2266..1b50257903 100644
--- a/alib2cli/src/parser/Parser.h
+++ b/alib2cli/src/parser/Parser.h
@@ -26,7 +26,7 @@ public:
 	template < class ... Tokens >
 	bool check ( Tokens ... tokens ) const {
 		// TODO repace in c++17 with fold expressions
-		return std::orAll ( m_current.m_type == tokens ... );
+		return ext::orAll ( m_current.m_type == tokens ... );
 	}
 
 	bool check_nonreserved_kw ( const std::string & kw ) const {
diff --git a/alib2common/src/common/createUnique.hpp b/alib2common/src/common/createUnique.hpp
index 2e89d88817..cd6487d66a 100644
--- a/alib2common/src/common/createUnique.hpp
+++ b/alib2common/src/common/createUnique.hpp
@@ -30,7 +30,7 @@ typename std::enable_if < std::all_same < std::set < T >, Alphabets ... >::value
 
 	do {
 		// TODO repace in c++17 with fold expressions
-		if ( std::andAll ( alphabets.count ( attempt ) == 0 ... ) )
+		if ( ext::andAll ( alphabets.count ( attempt ) == 0 ... ) )
 			return attempt;
 
 		++attempt;
diff --git a/alib2data/src/automaton/PDA/DPDA.h b/alib2data/src/automaton/PDA/DPDA.h
index e1c0c58e64..c86c3ab04a 100644
--- a/alib2data/src/automaton/PDA/DPDA.h
+++ b/alib2data/src/automaton/PDA/DPDA.h
@@ -552,7 +552,7 @@ public:
 		for (const std::pair<const std::tuple<StateType, ext::variant<EpsilonType, InputSymbolType>, std::vector<PushdownStoreSymbolType> >, std::pair<StateType, std::vector<PushdownStoreSymbolType> > >& transition : automaton.getTransitions()) {
 			const auto & popSymbols = std::get<2>(transition.first);
 			const auto & pushSymbols = transition.second.second;
-			if(std::contains(popSymbols.begin(), popSymbols.end(), symbol ) || std::contains(pushSymbols.begin(), pushSymbols.end(), symbol))
+			if(ext::contains(popSymbols.begin(), popSymbols.end(), symbol ) || ext::contains(pushSymbols.begin(), pushSymbols.end(), symbol))
 				return true;
 		}
 
diff --git a/alib2data/src/automaton/TA/DFTA.h b/alib2data/src/automaton/TA/DFTA.h
index 1c6bfc06e3..a23e8e30c8 100644
--- a/alib2data/src/automaton/TA/DFTA.h
+++ b/alib2data/src/automaton/TA/DFTA.h
@@ -358,7 +358,7 @@ public:
 			return true;
 
 		for (const std::pair<const std::pair<common::ranked_symbol < SymbolType, RankType >, std::vector<StateType> >, StateType>& t : automaton.getTransitions())
-			if(std::contains(t.first.second.begin(), t.first.second.end(), state ) || t.second == state)
+			if(ext::contains(t.first.second.begin(), t.first.second.end(), state ) || t.second == state)
 				return true;
 
 		return false;
diff --git a/alib2data/src/automaton/TA/NFTA.h b/alib2data/src/automaton/TA/NFTA.h
index b2e550f7b8..5a3624f08f 100644
--- a/alib2data/src/automaton/TA/NFTA.h
+++ b/alib2data/src/automaton/TA/NFTA.h
@@ -410,7 +410,7 @@ public:
 			return true;
 
 		for (const std::pair<const std::pair<common::ranked_symbol < SymbolType, RankType >, std::vector<StateType> >, std::set<StateType>>& t : automaton.getTransitions())
-			if(std::contains(t.first.second.begin(), t.first.second.end(), state ) || t . second.count ( state ) )
+			if(ext::contains(t.first.second.begin(), t.first.second.end(), state ) || t . second.count ( state ) )
 				return true;
 
 		return false;
diff --git a/alib2data/src/tree/common/TreeAuxiliary.h b/alib2data/src/tree/common/TreeAuxiliary.h
index 74370036c9..b19b9e083e 100644
--- a/alib2data/src/tree/common/TreeAuxiliary.h
+++ b/alib2data/src/tree/common/TreeAuxiliary.h
@@ -37,14 +37,14 @@ public:
 
 template < class SymbolType, class RankType >
 std::set < SymbolType > TreeAuxiliary::unrankSymbols ( const std::set < common::ranked_symbol < SymbolType, RankType > > & alphabet ) {
-	return std::transform < SymbolType > ( alphabet, [&] ( const common::ranked_symbol < SymbolType, RankType > & symbol ) {
+	return ext::transform < SymbolType > ( alphabet, [&] ( const common::ranked_symbol < SymbolType, RankType > & symbol ) {
 			return symbol.getSymbol ( );
 	} );
 }
 
 template < class SymbolType, class RankType >
 std::set < common::ranked_symbol < SymbolType, RankType > > TreeAuxiliary::computeBars ( const std::set < common::ranked_symbol < SymbolType, RankType > > & alphabet, const SymbolType & barBase ) {
-	return std::transform < common::ranked_symbol < SymbolType, RankType > > ( alphabet, [&] ( const common::ranked_symbol < SymbolType, RankType > & symbol ) {
+	return ext::transform < common::ranked_symbol < SymbolType, RankType > > ( alphabet, [&] ( const common::ranked_symbol < SymbolType, RankType > & symbol ) {
 			return common::ranked_symbol < SymbolType, RankType > ( barBase, symbol.getRank ( ) );
 	} );
 }
diff --git a/alib2std/src/extensions/algorithm.hpp b/alib2std/src/extensions/algorithm.hpp
index 9e0b179978..34da27e717 100644
--- a/alib2std/src/extensions/algorithm.hpp
+++ b/alib2std/src/extensions/algorithm.hpp
@@ -11,7 +11,7 @@
 #include <algorithm>
 #include <functional>
 
-namespace std {
+namespace ext {
 
 template<class InputIt1, class InputIt2, class Compare>
 bool excludes(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, Compare comp) {
@@ -77,6 +77,6 @@ inline bool orAll ( T value, Ts ... other ) {
 	return value || orAll ( other ... );
 }
 
-} /* namespace std */
+} /* namespace ext */
 
 #endif /* __ALGORITHM_HPP_ */
diff --git a/alib2std/test-src/extensions/AlgorithmTest.cpp b/alib2std/test-src/extensions/AlgorithmTest.cpp
index 7037d6dc07..829fb7e590 100644
--- a/alib2std/test-src/extensions/AlgorithmTest.cpp
+++ b/alib2std/test-src/extensions/AlgorithmTest.cpp
@@ -18,34 +18,34 @@ void AlgorithmTest::testExclude() {
 
 		std::cout << sizeof(array1) / sizeof(int);
 
-		CPPUNIT_ASSERT(std::excludes(array1, array1 + sizeof(array1) / sizeof(int), array2, array2 + sizeof(array2) / sizeof(int)) == false);
+		CPPUNIT_ASSERT(ext::excludes(array1, array1 + sizeof(array1) / sizeof(int), array2, array2 + sizeof(array2) / sizeof(int)) == false);
 	}
 
 	{
 		int array1[] = {1, 3, 5};
 		int array2[] = {2, 4, 6, 8};
 
-		CPPUNIT_ASSERT(std::excludes(array1, array1 + sizeof(array1) / sizeof(int), array2, array2 + sizeof(array2) / sizeof(int)) == true);
-		CPPUNIT_ASSERT(std::excludes(array2, array2 + sizeof(array2) / sizeof(int), array1, array1 + sizeof(array1) / sizeof(int)) == true);
+		CPPUNIT_ASSERT(ext::excludes(array1, array1 + sizeof(array1) / sizeof(int), array2, array2 + sizeof(array2) / sizeof(int)) == true);
+		CPPUNIT_ASSERT(ext::excludes(array2, array2 + sizeof(array2) / sizeof(int), array1, array1 + sizeof(array1) / sizeof(int)) == true);
 	}
 
 	{
 		int array1[] = {1, 3, 5, 8};
 		int array2[] = {2, 4, 6, 8};
 
-		CPPUNIT_ASSERT(std::excludes(array1, array1 + sizeof(array1) / sizeof(int), array2, array2 + sizeof(array2) / sizeof(int)) == false);
-		CPPUNIT_ASSERT(std::excludes(array2, array2 + sizeof(array2) / sizeof(int), array1, array1 + sizeof(array1) / sizeof(int)) == false);
+		CPPUNIT_ASSERT(ext::excludes(array1, array1 + sizeof(array1) / sizeof(int), array2, array2 + sizeof(array2) / sizeof(int)) == false);
+		CPPUNIT_ASSERT(ext::excludes(array2, array2 + sizeof(array2) / sizeof(int), array1, array1 + sizeof(array1) / sizeof(int)) == false);
 	}
 
 	{
 		int array1[] = {0};
 		int array2[] = {2, 4, 6, 8};
 
-		CPPUNIT_ASSERT(std::excludes(array1, array1 + sizeof(array1) / sizeof(int), array2, array2 + sizeof(array2) / sizeof(int)) == true);
-		CPPUNIT_ASSERT(std::excludes(array2, array2 + sizeof(array2) / sizeof(int), array1, array1 + sizeof(array1) / sizeof(int)) == true);
+		CPPUNIT_ASSERT(ext::excludes(array1, array1 + sizeof(array1) / sizeof(int), array2, array2 + sizeof(array2) / sizeof(int)) == true);
+		CPPUNIT_ASSERT(ext::excludes(array2, array2 + sizeof(array2) / sizeof(int), array1, array1 + sizeof(array1) / sizeof(int)) == true);
 
-		CPPUNIT_ASSERT(std::excludes(array1, array1, array2, array2) == true);
-		CPPUNIT_ASSERT(std::excludes(array2, array2, array1, array1) == true);
+		CPPUNIT_ASSERT(ext::excludes(array1, array1, array2, array2) == true);
+		CPPUNIT_ASSERT(ext::excludes(array2, array2, array1, array1) == true);
 	}
 }
 
@@ -54,9 +54,9 @@ void AlgorithmTest::testTransform() {
 	std::set<long> ref = {2, 3, 4, 5};
 
 /*	std::function<long(const int&)> lamb = [](const int& elem) { return (long) elem + 1; };
-	std::set<long> out = std::transform<long>(in, lamb); //*/
+	std::set<long> out = ext::transform<long>(in, lamb); //*/
 
-	std::set<long> out = std::transform<long>(in, [](const int& elem) { return (long) elem + 1; });
+	std::set<long> out = ext::transform<long>(in, [](const int& elem) { return (long) elem + 1; });
 
 	CPPUNIT_ASSERT(ref == out);
 }
-- 
GitLab