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