diff --git a/alib2data/src/automaton/AutomatonFromStringParser.cpp b/alib2data/src/automaton/AutomatonFromStringParser.cpp index 96d2ae27f103523a8da61e2b57a9fa6cf022ddfd..d30f3910171eaa649d3f039fead2cbecc15e0908 100644 --- a/alib2data/src/automaton/AutomatonFromStringParser.cpp +++ b/alib2data/src/automaton/AutomatonFromStringParser.cpp @@ -302,7 +302,7 @@ void AutomatonFromStringParser::parseEpsilonNFATransition(std::istream& input, s } else { token = m_AutomatonLexer.next(input); } - iter++; + ++iter; } m_AutomatonLexer.putback(input, token); @@ -339,7 +339,7 @@ void AutomatonFromStringParser::parseMultiInitialStateNFATransition(std::istream } else { token = m_AutomatonLexer.next(input); } - iter++; + ++iter; } m_AutomatonLexer.putback(input, token); @@ -379,7 +379,7 @@ void AutomatonFromStringParser::parseNFATransition(std::istream& input, std::set } else { token = m_AutomatonLexer.next(input); } - iter++; + ++iter; } m_AutomatonLexer.putback(input, token); @@ -416,7 +416,7 @@ void AutomatonFromStringParser::parseDFATransition(std::istream& input, std::set } else { token = m_AutomatonLexer.next(input); } - iter++; + ++iter; } m_AutomatonLexer.putback(input, token); diff --git a/alib2data/src/automaton/AutomatonFromXMLParser.cpp b/alib2data/src/automaton/AutomatonFromXMLParser.cpp index 1a00c83623c2a66509cff35e4d35aafd5d448b16..7ccea32d8751557e88313b20dce11df5ea8bce38 100644 --- a/alib2data/src/automaton/AutomatonFromXMLParser.cpp +++ b/alib2data/src/automaton/AutomatonFromXMLParser.cpp @@ -485,9 +485,9 @@ DFTA AutomatonFromXMLParser::parseDFTA(std::deque<sax::Token>::iterator& input) std::set<State> finalStates = parseFinalStates(input); DFTA automaton; - automaton.setStates(states); - automaton.setInputSymbols(inputSymbols); - automaton.setFinalStates(finalStates); + automaton.setStates(std::move(states)); + automaton.setInputSymbols(std::move(inputSymbols)); + automaton.setFinalStates(std::move(finalStates)); parseTransitions<DFTA>(input, automaton); @@ -503,9 +503,9 @@ NFTA AutomatonFromXMLParser::parseNFTA(std::deque<sax::Token>::iterator& input) std::set<State> finalStates = parseFinalStates(input); NFTA automaton; - automaton.setStates(states); - automaton.setInputSymbols(inputSymbols); - automaton.setFinalStates(finalStates); + automaton.setStates(std::move(states)); + automaton.setInputSymbols(std::move(inputSymbols)); + automaton.setFinalStates(std::move(finalStates)); parseTransitions<NFTA>(input, automaton); @@ -956,7 +956,7 @@ void AutomatonFromXMLParser::parseTransition(std::deque<sax::Token>::iterator& i State to = parseTransitionTo(input); popToken(input, sax::Token::TokenType::END_ELEMENT, "transition"); - automaton.addTransition(inputSymbol, from, to); + automaton.addTransition(std::move(inputSymbol), std::move(from), std::move(to)); } void AutomatonFromXMLParser::parseTransition(std::deque<sax::Token>::iterator& input, NFTA& automaton) const { @@ -966,7 +966,7 @@ void AutomatonFromXMLParser::parseTransition(std::deque<sax::Token>::iterator& i State to = parseTransitionTo(input); popToken(input, sax::Token::TokenType::END_ELEMENT, "transition"); - automaton.addTransition(inputSymbol, from, to); + automaton.addTransition(std::move(inputSymbol), std::move(from), std::move(to)); } State AutomatonFromXMLParser::parseTransitionTo(std::deque<sax::Token>::iterator& input) const { @@ -1006,7 +1006,7 @@ Shift AutomatonFromXMLParser::parseTransitionShift(std::deque<sax::Token>::itera } else { throw sax::ParserException(sax::Token("", sax::Token::TokenType::CHARACTER), *input); } - input++; + ++input; popToken(input, sax::Token::TokenType::END_ELEMENT, "shift"); return shift; @@ -1072,7 +1072,7 @@ std::variant<string::Epsilon, alphabet::Symbol> AutomatonFromXMLParser::parseTra if(isToken(input, sax::Token::TokenType::START_ELEMENT, "epsilon")) { std::variant<string::Epsilon, alphabet::Symbol> result(string::Epsilon::EPSILON); - input++; + ++input; popToken(input, sax::Token::TokenType::END_ELEMENT, "epsilon"); popToken(input, sax::Token::TokenType::END_ELEMENT, "input"); return result; @@ -1088,7 +1088,7 @@ std::variant<string::Epsilon, alphabet::Symbol> AutomatonFromXMLParser::parseTra if(isToken(input, sax::Token::TokenType::START_ELEMENT, "epsilon")) { std::variant<string::Epsilon, alphabet::Symbol> result(string::Epsilon::EPSILON); - input++; + ++input; popToken(input, sax::Token::TokenType::END_ELEMENT, "epsilon"); popToken(input, sax::Token::TokenType::END_ELEMENT, "output"); return result; diff --git a/alib2data/src/automaton/FSM/CompactNFA.cpp b/alib2data/src/automaton/FSM/CompactNFA.cpp index 3e6df2497fb76aca170ec99025f7e8f58038e752..c7989a57fdba0ae3cd9069dbda40281c070ec6a7 100644 --- a/alib2data/src/automaton/FSM/CompactNFA.cpp +++ b/alib2data/src/automaton/FSM/CompactNFA.cpp @@ -86,8 +86,8 @@ bool CompactNFA::removeState(const State& state) { throw AutomatonException("State \"" + (std::string) state.getName() + "\" is final state."); } - for (std::map<std::pair<State, string::LinearString>, std::set<State> >::const_iterator t = transitions.begin(); t != transitions.end(); t++) { - if (t->first.first == state || t->second.find(state) != t->second.end()) + for (const std::pair<std::pair<State, string::LinearString>, std::set<State> >& t : transitions) { + if (t.first.first == state || t.second.find(state) != t.second.end()) throw AutomatonException("State \"" + (std::string) state.getName() + "\" is used in transition."); } diff --git a/alib2data/src/automaton/PDA/DPDA.cpp b/alib2data/src/automaton/PDA/DPDA.cpp index cad653a7b73f502a4f25ac7a09de148be84f0252..47945f424b32b16bc29bb401d54b8042508cee08 100644 --- a/alib2data/src/automaton/PDA/DPDA.cpp +++ b/alib2data/src/automaton/PDA/DPDA.cpp @@ -117,7 +117,7 @@ bool DPDA::addTransition(State from, std::variant<string::Epsilon, alphabet::Sym const std::vector<alphabet::Symbol>& shorter = (alpha.size() < beta.size()) ? alpha : beta; const std::vector<alphabet::Symbol>& longer = (alpha.size() < beta.size()) ? beta : alpha; - for(auto itS = shorter.begin(), itL = longer.begin(); itS != shorter.end(); itS++, itL++) { + for(auto itS = shorter.begin(), itL = longer.begin(); itS != shorter.end(); ++itS, ++itL) { if(*itS != *itL) return false; } return true; @@ -134,7 +134,7 @@ bool DPDA::addTransition(State from, std::variant<string::Epsilon, alphabet::Sym const std::vector<alphabet::Symbol>& shorter = (alpha.size() < beta.size()) ? alpha : beta; const std::vector<alphabet::Symbol>& longer = (alpha.size() < beta.size()) ? beta : alpha; - for(auto itS = shorter.begin(), itL = longer.begin(); itS != shorter.end(); itS++, itL++) { + for(auto itS = shorter.begin(), itL = longer.begin(); itS != shorter.end(); ++itS, ++itL) { if(*itS != *itL) return false; } return true; diff --git a/alib2data/src/automaton/PDA/SinglePopDPDA.cpp b/alib2data/src/automaton/PDA/SinglePopDPDA.cpp index 2b1edfcce370636274abc85cd85696994167e60b..cca3fdc319385ce60cb8e772b2c7a4b7f7dfd7f3 100644 --- a/alib2data/src/automaton/PDA/SinglePopDPDA.cpp +++ b/alib2data/src/automaton/PDA/SinglePopDPDA.cpp @@ -34,20 +34,19 @@ bool SinglePopDPDA::removeState(const State& state) { throw AutomatonException("State \"" + (std::string) state.getName() + "\" is final state."); } - for (std::map<std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, alphabet::Symbol>, std::pair<State, std::vector<alphabet::Symbol> > >::const_iterator transition = transitions.begin(); transition != transitions.end(); transition++) { - if (state == std::get<0>(transition->first)) + for (const std::pair<std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, alphabet::Symbol>, std::pair<State, std::vector<alphabet::Symbol> > >& transition : transitions) { + if (state == std::get<0>(transition.first)) throw AutomatonException("State \"" + (std::string) state.getName() + "\" is used in transition."); - if(transition->second.first == state) + if(transition.second.first == state) throw AutomatonException("State \"" + (std::string) state.getName() + "\" is used in transition."); - } return states.erase(state); } bool SinglePopDPDA::removeInputSymbol(const alphabet::Symbol& symbol) { - for (std::map<std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, alphabet::Symbol>, std::pair<State, std::vector<alphabet::Symbol> > >::const_iterator transition = transitions.begin(); transition != transitions.end(); transition++) { - if (std::get<1>(transition->first).is<alphabet::Symbol>() && symbol == std::get<1>(transition->first).get<alphabet::Symbol>()) + for (const std::pair<std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, alphabet::Symbol>, std::pair<State, std::vector<alphabet::Symbol> > >& transition : transitions) { + if (std::get<1>(transition.first).is<alphabet::Symbol>() && symbol == std::get<1>(transition.first).get<alphabet::Symbol>()) throw AutomatonException("Symbol \"" + (std::string) symbol + "\" is used in transition."); } @@ -55,11 +54,11 @@ bool SinglePopDPDA::removeInputSymbol(const alphabet::Symbol& symbol) { } bool SinglePopDPDA::removeStackSymbol(const alphabet::Symbol& symbol) { - for (std::map<std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, alphabet::Symbol>, std::pair<State, std::vector<alphabet::Symbol> > >::const_iterator transition = transitions.begin(); transition != transitions.end(); transition++) { - if (symbol == std::get<2>(transition->first)) + for (const std::pair<std::tuple<State, std::variant<string::Epsilon, alphabet::Symbol>, alphabet::Symbol>, std::pair<State, std::vector<alphabet::Symbol> > >& transition : transitions) { + if (symbol == std::get<2>(transition.first)) throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); - if (std::find(transition->second.second.begin(), transition->second.second.end(), symbol) != transition->second.second.end()) + if (std::find(transition.second.second.begin(), transition.second.second.end(), symbol) != transition.second.second.end()) throw AutomatonException("Stack symbol \"" + (std::string) symbol + "\" is used in transition."); } @@ -87,9 +86,9 @@ bool SinglePopDPDA::addTransition(State from, std::variant<string::Epsilon, alph throw AutomatonException("Stack symbol \"" + (std::string) pop + "\" doesn't exist."); } - for(std::vector<alphabet::Symbol>::const_iterator pushSymbol = push.begin(); pushSymbol != push.end(); pushSymbol++) { - if (stackAlphabet.find(*pushSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) *pushSymbol + "\" doesn't exist."); + for(const alphabet::Symbol& pushSymbol : push) { + if (stackAlphabet.find(pushSymbol) == stackAlphabet.end()) { + throw AutomatonException("Stack symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); } } diff --git a/alib2data/src/automaton/PDA/SinglePopNPDA.cpp b/alib2data/src/automaton/PDA/SinglePopNPDA.cpp index e4d5a147656c1957bb05d0f9d21a02a3ba7b662b..ecc6f9b5a09bfa49170d7b9b268230e91bf6c247 100644 --- a/alib2data/src/automaton/PDA/SinglePopNPDA.cpp +++ b/alib2data/src/automaton/PDA/SinglePopNPDA.cpp @@ -89,9 +89,9 @@ bool SinglePopNPDA::addTransition(State from, std::variant<string::Epsilon, alph throw AutomatonException("Stack symbol \"" + (std::string) pop + "\" doesn't exist."); } - for(std::vector<alphabet::Symbol>::const_iterator pushSymbol = push.begin(); pushSymbol != push.end(); pushSymbol++) { - if (stackAlphabet.find(*pushSymbol) == stackAlphabet.end()) { - throw AutomatonException("Stack symbol \"" + (std::string) *pushSymbol + "\" doesn't exist."); + for(const alphabet::Symbol& pushSymbol : push) { + if (stackAlphabet.find(pushSymbol) == stackAlphabet.end()) { + throw AutomatonException("Stack symbol \"" + (std::string) pushSymbol + "\" doesn't exist."); } } diff --git a/alib2data/src/automaton/TA/DFTA.cpp b/alib2data/src/automaton/TA/DFTA.cpp index fe00153de185dc6419740ace2708c2a6dc902a9f..a6f4fc348e74f81b0d335812622c2262a537fd1c 100644 --- a/alib2data/src/automaton/TA/DFTA.cpp +++ b/alib2data/src/automaton/TA/DFTA.cpp @@ -30,20 +30,20 @@ bool DFTA::removeState(const State& state) { } AutomatonException ex ("State \"" + (std::string) state.getName() + "\" is used in transition."); - for (std::map<std::pair<alphabet::RankedSymbol, std::vector<State> >, State>::const_iterator t = transitions.begin(); t != transitions.end(); t++) { - const std::vector<State> states = t -> first.second; - for (std::vector<State>::const_iterator it = states.begin(); it != states.end(); ++it) { - if (*it == state) throw ex; + for (const std::pair<std::pair<alphabet::RankedSymbol, std::vector<State> >, State>& t : transitions) { + const std::vector<State>& states = t . first.second; + for (const State& it : states) { + if (it == state) throw ex; } - if (t -> second == state) throw ex; + if (t . second == state) throw ex; } return states.erase(state); } bool DFTA::removeInputSymbol(const alphabet::RankedSymbol& symbol) { - for (std::map<std::pair<alphabet::RankedSymbol, std::vector<State> >, State>::const_iterator t = transitions.begin(); t != transitions.end(); t++) { - if (t -> first.first == symbol) + for (const std::pair<std::pair<alphabet::RankedSymbol, std::vector<State> >, State>& t : transitions) { + if (t . first.first == symbol) throw AutomatonException("Input symbol \"" + (std::string) symbol + "\" is used."); } @@ -51,7 +51,6 @@ bool DFTA::removeInputSymbol(const alphabet::RankedSymbol& symbol) { } bool DFTA::addTransition(const alphabet::RankedSymbol & symbol, const std::vector<State> & prevStates, const State & next) { - if (prevStates.size() != symbol.getRank().getData()) throw AutomatonException("Number of states doesn't match rank of the symbol"); @@ -61,9 +60,9 @@ bool DFTA::addTransition(const alphabet::RankedSymbol & symbol, const std::vecto if (states.find(next) == states.end()) throw AutomatonException("State \"" + (std::string) next.getName() + "\" doesn't exist."); - for (std::vector<State>::const_iterator it = prevStates.begin(); it != prevStates.end(); ++it) { - if (states.find(*it) == states.end()) - throw AutomatonException("State \"" + (std::string) it -> getName() + "\" doesn't exist."); + for (const State& it : prevStates) { + if (states.find(it) == states.end()) + throw AutomatonException("State \"" + (std::string) it . getName() + "\" doesn't exist."); } std::pair<alphabet::RankedSymbol, std::vector<State> > key = std::make_pair(symbol, prevStates); diff --git a/alib2data/src/automaton/TA/NFTA.cpp b/alib2data/src/automaton/TA/NFTA.cpp index fce9ee97f1ed3c35395dd22f22e56c616f17e0b2..e1875c18bade20506046a3c1aa0eabe20f0d06e2 100644 --- a/alib2data/src/automaton/TA/NFTA.cpp +++ b/alib2data/src/automaton/TA/NFTA.cpp @@ -39,20 +39,20 @@ bool NFTA::removeState(const State& state) { } AutomatonException ex ("State \"" + (std::string) state.getName() + "\" is used in transition."); - for (std::map<std::pair<alphabet::RankedSymbol, std::vector<State> >, std::set<State> >::const_iterator t = transitions.begin(); t != transitions.end(); t++) { - const std::vector<State> states = t -> first.second; - for (std::vector<State>::const_iterator it = states.begin(); it != states.end(); ++it) { - if (*it == state) throw ex; + for (const std::pair<std::pair<alphabet::RankedSymbol, std::vector<State> >, std::set<State> >& t : transitions) { + const std::vector<State>& states = t . first.second; + for (const State& it : states) { + if (it == state) throw ex; } - if (t -> second.find(state) != t -> second.end()) throw ex; + if (t . second.find(state) != t . second.end()) throw ex; } return states.erase(state); } bool NFTA::removeInputSymbol(const alphabet::RankedSymbol& symbol) { - for (std::map<std::pair<alphabet::RankedSymbol, std::vector<State> >, std::set<State> >::const_iterator t = transitions.begin(); t != transitions.end(); t++) { - if (t -> first.first == symbol) + for (const std::pair<std::pair<alphabet::RankedSymbol, std::vector<State> >, std::set<State> >& t : transitions) { + if (t . first.first == symbol) throw AutomatonException("Input symbol \"" + (std::string) symbol + "\" is used."); } @@ -70,9 +70,9 @@ bool NFTA::addTransition(const alphabet::RankedSymbol & symbol, const std::vecto if (states.find(next) == states.end()) throw AutomatonException("State \"" + (std::string) next.getName() + "\" doesn't exist."); - for (std::vector<State>::const_iterator it = prevStates.begin(); it != prevStates.end(); ++it) { - if (states.find(*it) == states.end()) - throw AutomatonException("State \"" + (std::string) it -> getName() + "\" doesn't exist."); + for (const State& it : prevStates) { + if (states.find(it) == states.end()) + throw AutomatonException("State \"" + (std::string) it . getName() + "\" doesn't exist."); } std::pair<alphabet::RankedSymbol, std::vector<State> > key = std::make_pair(symbol, prevStates); @@ -85,8 +85,8 @@ bool NFTA::removeTransition(const alphabet::RankedSymbol symbol, const std::vect } bool NFTA::isDeterministic() const { - for (std::map<std::pair<alphabet::RankedSymbol, std::vector<State> >, std::set<State> >::const_iterator t = transitions.begin(); t != transitions.end(); t++) { - if (t -> second.size() != 1 || t -> second.size() != 0) { + for (const std::pair<std::pair<alphabet::RankedSymbol, std::vector<State> >, std::set<State> >& t : transitions) { + if (t . second.size() != 1 || t . second.size() != 0) { return false; } } diff --git a/alib2data/src/automaton/TM/OneTapeDTM.cpp b/alib2data/src/automaton/TM/OneTapeDTM.cpp index c4a86cd0cca81c7317a978ba5f26e559268c19b6..0837107daa7544d7ea63aca018b1022f233031e0 100644 --- a/alib2data/src/automaton/TM/OneTapeDTM.cpp +++ b/alib2data/src/automaton/TM/OneTapeDTM.cpp @@ -32,8 +32,8 @@ bool OneTapeDTM::removeState(const State& state) { throw AutomatonException("State \"" + (std::string) state.getName() + "\" is final state."); } - for (std::map<std::pair<State, alphabet::Symbol>, std::tuple<State, alphabet::Symbol, Shift> >::const_iterator transition = transitions.begin(); transition != transitions.end(); transition++) { - if (state == transition->first.first || state == std::get<0>(transition->second)) + for (const std::pair<std::pair<State, alphabet::Symbol>, std::tuple<State, alphabet::Symbol, Shift> >& transition : transitions) { + if (state == transition.first.first || state == std::get<0>(transition.second)) throw AutomatonException("State \"" + (std::string) state.getName() + "\" is used in a transition."); } @@ -49,8 +49,8 @@ bool OneTapeDTM::removeTapeSymbol(const alphabet::Symbol& symbol) { throw AutomatonException("Tape symbol \"" + (std::string) symbol + "\" is in input alphabet."); } - for (std::map<std::pair<State, alphabet::Symbol>, std::tuple<State, alphabet::Symbol, Shift> >::const_iterator transition = transitions.begin(); transition != transitions.end(); transition++) { - if (symbol == transition->first.second || symbol == std::get<1>(transition->second)) + for (const std::pair<std::pair<State, alphabet::Symbol>, std::tuple<State, alphabet::Symbol, Shift> >& transition : transitions) { + if (symbol == transition.first.second || symbol == std::get<1>(transition.second)) throw AutomatonException("Tape symbol \"" + (std::string) symbol + "\" is used in transition."); } diff --git a/alib2data/src/debug/bfdStacktrace.cpp b/alib2data/src/debug/bfdStacktrace.cpp index 02b2ca0c140b840b23a19cb6dba8eb95ae6b57d1..e4a5d692dc4c8bee118ecb326b5eacb2e5ab56df 100644 --- a/alib2data/src/debug/bfdStacktrace.cpp +++ b/alib2data/src/debug/bfdStacktrace.cpp @@ -71,7 +71,7 @@ string bfdStacktrace(unsigned int max_frames) { // iterate over the returned symbol lines. skip the first, it is the // address of this function. - for (int i = 1; i < addrlen; i++) { + for (int i = 1; i < addrlen; ++i) { char *begin_name = 0, *begin_offset = 0, *end_offset = 0, *addr_offset = 0; // find parentheses and +address offset surrounding the mangled name: diff --git a/alib2data/src/debug/simpleStacktrace.cpp b/alib2data/src/debug/simpleStacktrace.cpp index efe159df5fdc798596b975058b6799ad339be323..e57900b4e8cf0438af733c584a134094dec25c6d 100644 --- a/alib2data/src/debug/simpleStacktrace.cpp +++ b/alib2data/src/debug/simpleStacktrace.cpp @@ -55,7 +55,7 @@ string simpleStacktrace(unsigned int max_frames) { // iterate over the returned symbol lines. skip the first, it is the // address of this function. - for (int i = 1; i < addrlen; i++) { + for (int i = 1; i < addrlen; ++i) { char *begin_name = 0, *begin_offset = 0, *end_offset = 0, *addr_offset = 0; // find parentheses and +address offset surrounding the mangled name: diff --git a/alib2data/src/exception/ExceptionFromXMLParser.cpp b/alib2data/src/exception/ExceptionFromXMLParser.cpp index b477e99fefb58ca93baf9b5e85320a21cf42ab46..a01dc153bdda65698ff67167d2f5e3c7a802cc81 100644 --- a/alib2data/src/exception/ExceptionFromXMLParser.cpp +++ b/alib2data/src/exception/ExceptionFromXMLParser.cpp @@ -24,14 +24,14 @@ AlibException ExceptionFromXMLParser::parseException(std::deque<sax::Token>::ite std::string cause = ""; if (input->getType() == sax::Token::TokenType::CHARACTER) { cause = std::move(*input).moveData(); - input++; + ++input; } popToken(input, sax::Token::TokenType::END_ELEMENT, "cause"); popToken(input, sax::Token::TokenType::START_ELEMENT, "backtrace"); std::string backtrace = ""; if (input->getType() == sax::Token::TokenType::CHARACTER) { backtrace = std::move(*input).moveData(); - input++; + ++input; } popToken(input, sax::Token::TokenType::END_ELEMENT, "backtrace"); popToken(input, sax::Token::TokenType::END_ELEMENT, alib::Names::EXCEPTION_ALIB_EXCEPTION); diff --git a/alib2data/src/grammar/ContextFree/LG.cpp b/alib2data/src/grammar/ContextFree/LG.cpp index 22217ef54ec6039baafa170f670f3c68f3415db7..0e193a764ee90e8944b326845980e01d2790136d 100644 --- a/alib2data/src/grammar/ContextFree/LG.cpp +++ b/alib2data/src/grammar/ContextFree/LG.cpp @@ -136,7 +136,7 @@ bool LG::removeRule(const alphabet::Symbol& leftHandSide, const std::tuple<std:: bool LG::addRawRule(alphabet::Symbol leftHandSide, std::vector<alphabet::Symbol> rightHandSide) { std::vector<alphabet::Symbol>::iterator nonterminalPosition = rightHandSide.begin(); - for(; nonterminalPosition != rightHandSide.end(); nonterminalPosition++) { + for(; nonterminalPosition != rightHandSide.end(); ++nonterminalPosition) { if(nonterminalAlphabet.count(*nonterminalPosition)) break; } @@ -168,7 +168,7 @@ std::map<alphabet::Symbol, std::set<std::vector<alphabet::Symbol>>> LG::getRawRu bool LG::removeRawRule(const alphabet::Symbol& leftHandSide, const std::vector<alphabet::Symbol>& rightHandSide) { std::vector<alphabet::Symbol>::const_iterator nonterminalPosition = rightHandSide.begin(); - for(; nonterminalPosition != rightHandSide.end(); nonterminalPosition++) { + for(; nonterminalPosition != rightHandSide.end(); ++nonterminalPosition) { if(nonterminalAlphabet.count(*nonterminalPosition)) break; } diff --git a/alib2data/src/grammar/GrammarFromXMLParser.cpp b/alib2data/src/grammar/GrammarFromXMLParser.cpp index 4259503c8c35431d508629298a73078e55289e19..43849203e95bb49a7697de5513e90e5a985e543c 100644 --- a/alib2data/src/grammar/GrammarFromXMLParser.cpp +++ b/alib2data/src/grammar/GrammarFromXMLParser.cpp @@ -344,7 +344,7 @@ bool GrammarFromXMLParser::parseGeneratesEpsilon(std::deque<sax::Token>::iterato bool generatesEpsilon; popToken(input, sax::Token::TokenType::START_ELEMENT, "generatesEpsilon"); if(isToken(input, sax::Token::TokenType::START_ELEMENT, "true")) { - input++; + ++input; popToken(input, sax::Token::TokenType::END_ELEMENT, "true"); generatesEpsilon = true; } else { @@ -454,7 +454,7 @@ std::vector<alphabet::Symbol> GrammarFromXMLParser::parseRuleLContext(std::deque std::vector<alphabet::Symbol> lContext; popToken(input, sax::Token::TokenType::START_ELEMENT, "lContext"); if(isToken(input, sax::Token::TokenType::START_ELEMENT, "epsilon")) { - input++; + ++input; popToken(input, sax::Token::TokenType::END_ELEMENT, "epsilon"); } else while (isTokenType(input, sax::Token::TokenType::START_ELEMENT)) { lContext.push_back(alib::xmlApi<alphabet::Symbol>::parse(input)); @@ -467,7 +467,7 @@ std::vector<alphabet::Symbol> GrammarFromXMLParser::parseRuleLHS(std::deque<sax: std::vector<alphabet::Symbol> lhs; popToken(input, sax::Token::TokenType::START_ELEMENT, "lhs"); if(isToken(input, sax::Token::TokenType::START_ELEMENT, "epsilon")) { - input++; + ++input; popToken(input, sax::Token::TokenType::END_ELEMENT, "epsilon"); } else while (isTokenType(input, sax::Token::TokenType::START_ELEMENT)) { lhs.push_back(alib::xmlApi<alphabet::Symbol>::parse(input)); @@ -487,7 +487,7 @@ std::vector<alphabet::Symbol> GrammarFromXMLParser::parseRuleRContext(std::deque std::vector<alphabet::Symbol> rContext; popToken(input, sax::Token::TokenType::START_ELEMENT, "rContext"); if(isToken(input, sax::Token::TokenType::START_ELEMENT, "epsilon")) { - input++; + ++input; popToken(input, sax::Token::TokenType::END_ELEMENT, "epsilon"); } else while (isTokenType(input, sax::Token::TokenType::START_ELEMENT)) { rContext.push_back(alib::xmlApi<alphabet::Symbol>::parse(input)); @@ -511,7 +511,7 @@ std::vector<alphabet::Symbol> GrammarFromXMLParser::parseRuleRHS(std::deque<sax: std::vector<alphabet::Symbol> rhs; popToken(input, sax::Token::TokenType::START_ELEMENT, "rhs"); if(isToken(input, sax::Token::TokenType::START_ELEMENT, "epsilon")) { - input++; + ++input; popToken(input, sax::Token::TokenType::END_ELEMENT, "epsilon"); } else while (isTokenType(input, sax::Token::TokenType::START_ELEMENT)) { rhs.push_back(alib::xmlApi<alphabet::Symbol>::parse(input)); diff --git a/alib2data/src/graph/directed/AdjacencyListDirectedGraph.cpp b/alib2data/src/graph/directed/AdjacencyListDirectedGraph.cpp index 565567c4549a8a7500d2761b5168bef5aea997d0..629e9d59701adea534d63979813b833dccabb444 100644 --- a/alib2data/src/graph/directed/AdjacencyListDirectedGraph.cpp +++ b/alib2data/src/graph/directed/AdjacencyListDirectedGraph.cpp @@ -105,15 +105,12 @@ bool AdjacencyListDirectedGraph::removeNode(const Node &node) adj.erase(search); - auto i = edges.begin(); - while (i != edges.end()) { - if (i->getFromNode() == node) { - edges.erase(i++); - } else if (i->getToNode() == node) { - listRemoveOne(adj[i->getFromNode()], node); - edges.erase(i++); - } else { - i++; + for (auto& i : edges) { + if (i.getFromNode() == node) { + edges.erase(i); + } else if (i.getToNode() == node) { + listRemoveOne(adj[i.getFromNode()], node); + edges.erase(i); } } diff --git a/alib2data/src/graph/directed/AdjacencyMatrixDirectedGraph.cpp b/alib2data/src/graph/directed/AdjacencyMatrixDirectedGraph.cpp index d4631d8d1517826934e74cefc213f5417fee8909..e8051f94423f50230d49436adf22e2e29b8379ca 100644 --- a/alib2data/src/graph/directed/AdjacencyMatrixDirectedGraph.cpp +++ b/alib2data/src/graph/directed/AdjacencyMatrixDirectedGraph.cpp @@ -102,15 +102,12 @@ bool AdjacencyMatrixDirectedGraph::removeNode(const Node &node) adj.erase(search); - auto i = edges.begin(); - while (i != edges.end()) { - if (i->getFromNode() == node) { - edges.erase(i++); - } else if (i->getToNode() == node) { - adj[i->getFromNode()].erase(node); - edges.erase(i++); - } else { - i++; + for (auto& i : edges) { + if (i.getFromNode() == node) { + edges.erase(i); + } else if (i.getToNode() == node) { + adj[i.getFromNode()].erase(node); + edges.erase(i); } } @@ -125,7 +122,7 @@ bool AdjacencyMatrixDirectedGraph::addEdge(const DirectedEdge &edge) edges.insert(edge); - adj[edge.getFromNode()][edge.getToNode()]++; + adj[edge.getFromNode()][edge.getToNode()] += 1; adj[edge.getToNode()]; // insert key return true; diff --git a/alib2data/src/graph/undirected/AdjacencyListUndirectedGraph.cpp b/alib2data/src/graph/undirected/AdjacencyListUndirectedGraph.cpp index b1365d3241a943035e321c09deb9c25c6197bf0c..1a4256ff4f6669fbde20daab846cd5eaf738c106 100644 --- a/alib2data/src/graph/undirected/AdjacencyListUndirectedGraph.cpp +++ b/alib2data/src/graph/undirected/AdjacencyListUndirectedGraph.cpp @@ -98,16 +98,13 @@ bool AdjacencyListUndirectedGraph::removeNode(const Node &node) adj.erase(search); - auto i = edges.begin(); - while (i != edges.end()) { - if (i->getFirstNode() == node) { - listRemoveOne(adj[i->getSecondNode()], node); - edges.erase(i++); - } else if (i->getSecondNode() == node) { - listRemoveOne(adj[i->getFirstNode()], node); - edges.erase(i++); - } else { - i++; + for (auto& i : edges) { + if (i.getFirstNode() == node) { + listRemoveOne(adj[i.getSecondNode()], node); + edges.erase(i); + } else if (i.getSecondNode() == node) { + listRemoveOne(adj[i.getFirstNode()], node); + edges.erase(i); } } diff --git a/alib2data/src/graph/undirected/AdjacencyMatrixUndirectedGraph.cpp b/alib2data/src/graph/undirected/AdjacencyMatrixUndirectedGraph.cpp index 25818ebfc40361058ba982588b5655dac723e4b2..ba0ba19f12497fb19dac6900ea7e3b98f9c21180 100644 --- a/alib2data/src/graph/undirected/AdjacencyMatrixUndirectedGraph.cpp +++ b/alib2data/src/graph/undirected/AdjacencyMatrixUndirectedGraph.cpp @@ -103,16 +103,13 @@ bool AdjacencyMatrixUndirectedGraph::removeNode(const Node &node) adj.erase(search); - auto i = edges.begin(); - while (i != edges.end()) { - if (i->getFirstNode() == node) { - adj[i->getSecondNode()].erase(node); - edges.erase(i++); - } else if (i->getSecondNode() == node) { - adj[i->getFirstNode()].erase(node); - edges.erase(i++); - } else { - i++; + for (auto& i : edges) { + if (i.getFirstNode() == node) { + adj[i.getSecondNode()].erase(node); + edges.erase(i); + } else if (i.getSecondNode() == node) { + adj[i.getFirstNode()].erase(node); + edges.erase(i); } } @@ -127,8 +124,8 @@ bool AdjacencyMatrixUndirectedGraph::addEdge(const UndirectedEdge &edge) edges.insert(edge); - adj[edge.getFirstNode()][edge.getSecondNode()]++; - adj[edge.getSecondNode()][edge.getFirstNode()]++; + adj[edge.getFirstNode()][edge.getSecondNode()] += 1; + adj[edge.getSecondNode()][edge.getFirstNode()] += 1; return true; } diff --git a/alib2data/src/label/LabelFromXMLParser.cpp b/alib2data/src/label/LabelFromXMLParser.cpp index 92185e0a590e42382805b7f17c5cacc68b904f8e..d92cb36eac81138deffc45664d1ee0e01409131d 100644 --- a/alib2data/src/label/LabelFromXMLParser.cpp +++ b/alib2data/src/label/LabelFromXMLParser.cpp @@ -41,7 +41,7 @@ Label LabelFromXMLParser::parseLabel(std::deque<sax::Token>::iterator& input, co } bool LabelFromXMLParser::first(const std::deque<sax::Token>::const_iterator& input) const { - if(alib::xmlApi<PrimitiveLabel>::first(input) || alib::xmlApi<ObjectLabel>::first(input) || alib::xmlApi<LabelSetLabel>::first(input) || alib::xmlApi<LabelPairLabel>::first(input)) { + if(alib::xmlApi<PrimitiveLabel>::first(input) || alib::xmlApi<HexavigesimalLabel>::first(input) || alib::xmlApi<ObjectLabel>::first(input) || alib::xmlApi<LabelSetLabel>::first(input) || alib::xmlApi<LabelPairLabel>::first(input) || alib::xmlApi<UniqueLabel>::first(input) ) { return true; } else { return false; diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.cpp b/alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.cpp index 27f3ba0deea93209e3112a0efe5ee4ff424e1285..60d258cca1a5a2bf800e22dfc8e9d5f39a4818ff 100644 --- a/alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.cpp +++ b/alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.cpp @@ -116,7 +116,7 @@ int UnboundedRegExpAlternation::compare(const UnboundedRegExpAlternation& other) auto thisIter = this->elements.begin(); auto otherIter = other.elements.begin(); - for(; thisIter != this->elements.end(); thisIter++, otherIter++) { + for(; thisIter != this->elements.end(); ++thisIter, ++otherIter) { int res = (*thisIter)->compare(**otherIter); if(res != 0) return res; } diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpConcatenation.cpp b/alib2data/src/regexp/unbounded/UnboundedRegExpConcatenation.cpp index 5ff9fc8a44807e66a6715ec907eaf352e75dc775..17e8a1521d75b4c66f414c031d2f55430ed34364 100644 --- a/alib2data/src/regexp/unbounded/UnboundedRegExpConcatenation.cpp +++ b/alib2data/src/regexp/unbounded/UnboundedRegExpConcatenation.cpp @@ -115,7 +115,7 @@ int UnboundedRegExpConcatenation::compare(const UnboundedRegExpConcatenation& ot auto thisIter = this->elements.begin(); auto otherIter = other.elements.begin(); - for(; thisIter != this->elements.end(); thisIter++, otherIter++) { + for(; thisIter != this->elements.end(); ++thisIter, ++otherIter) { int res = (*thisIter)->compare(**otherIter); if(res != 0) return res; } diff --git a/alib2data/src/sax/FromXMLParserHelper.cpp b/alib2data/src/sax/FromXMLParserHelper.cpp index c4708b0abb460d8a2b2519accada9f72c08fd2fd..67ed03621bd3a07bdc6568d7e77cea24204bbd45 100644 --- a/alib2data/src/sax/FromXMLParserHelper.cpp +++ b/alib2data/src/sax/FromXMLParserHelper.cpp @@ -20,7 +20,7 @@ bool FromXMLParserHelper::isTokenType(const std::deque<Token>::const_iterator& i void FromXMLParserHelper::popToken(std::deque<Token>::iterator& input, Token::TokenType type, const std::string& data) { if (isToken(input, type, data)) { - input++; + ++input; } else { throw ParserException(Token(data, type), *input); } @@ -29,7 +29,7 @@ void FromXMLParserHelper::popToken(std::deque<Token>::iterator& input, Token::To std::string FromXMLParserHelper::popTokenData(std::deque<Token>::iterator& input, Token::TokenType type) { if(isTokenType(input, type)) { std::string result = std::move(*input).moveData(); - input++; + ++input; return result; } else { throw ParserException(Token("?", type), *input); diff --git a/alib2data/src/tree/TreeToRawComposer.cpp b/alib2data/src/tree/TreeToRawComposer.cpp index 433a5694dc43f96955f3cdf82983e843851fea12..56430c335f071547dd435b6ae4cf587c51dd6773 100644 --- a/alib2data/src/tree/TreeToRawComposer.cpp +++ b/alib2data/src/tree/TreeToRawComposer.cpp @@ -61,7 +61,7 @@ void TreeToRawComposer::composePrefixRankedNotation(std::deque<sax::Token>& out, out.emplace_back(sax::Token((std::string) notation[root], sax::Token::TokenType::START_ELEMENT)); index += 1; - for(unsigned i = 0; i < size; i++) { + for(unsigned i = 0; i < size; ++i) { composePrefixRankedNotation(out, index, notation); } diff --git a/alib2data/src/tree/ranked/PrefixRankedBarPattern.cpp b/alib2data/src/tree/ranked/PrefixRankedBarPattern.cpp index 7a799e69262b1d7739bdf8b78c1ab096290e0298..ec0e59971602da759aefd2a87f89e048503d2cad 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarPattern.cpp +++ b/alib2data/src/tree/ranked/PrefixRankedBarPattern.cpp @@ -106,7 +106,7 @@ void PrefixRankedBarPattern::arityChecksum(const std::vector<alphabet::RankedSym if(arityChecksumTerminals != 0 || arityChecksumBars != 0 || arityChecksumTypes != 0) throw exception::AlibException("The string does not form a tree"); - for(unsigned i = 0; i < data.size(); i++) { + for(unsigned i = 0; i < data.size(); ++i) { if(data[i] == subtreeWildcard && ((i + 1) == data.size() || data[i + 1].getSymbol() != variablesBar)) throw exception::AlibException("Inconsystency of SubtreeWildcard and variablesBar"); } } diff --git a/alib2data/src/tree/ranked/RankedNode.cpp b/alib2data/src/tree/ranked/RankedNode.cpp index c97145e1cb0486f82b5ea45ef5e2a9aeb0085797..30acd5f3e7af8d86a015f27bc5128f091e352cb5 100644 --- a/alib2data/src/tree/ranked/RankedNode.cpp +++ b/alib2data/src/tree/ranked/RankedNode.cpp @@ -133,7 +133,7 @@ int RankedNode::compare(const RankedNode& other) const { auto thisIter = this->children.begin(); auto otherIter = other.children.begin(); - for(; thisIter != this->children.end(); thisIter++, otherIter++) { + for(; thisIter != this->children.end(); ++thisIter, ++otherIter) { int res = (*thisIter)->compare(**otherIter); if(res != 0) return res; } @@ -192,7 +192,7 @@ void RankedNode::nicePrint(std::ostream & os, const std::string & prefix, const } os << (std::string) symbol.getSymbol() << "(" << symbol.getRank().getData() << ")" << std::endl; - for (unsigned int i = 0; i < children.size(); i++) { + for (unsigned int i = 0; i < children.size(); ++i) { os << nextPrefix << "|" << std::endl; children[i] -> nicePrint(os, nextPrefix, i == children.size()-1); } diff --git a/alib2data/src/tree/unranked/UnrankedNode.cpp b/alib2data/src/tree/unranked/UnrankedNode.cpp index 02f3779a47d3617c9cacde2fd50760c2baffd837..32a0ca32ad19052fa6760e55c02646e4a2f64eaf 100644 --- a/alib2data/src/tree/unranked/UnrankedNode.cpp +++ b/alib2data/src/tree/unranked/UnrankedNode.cpp @@ -136,7 +136,7 @@ int UnrankedNode::compare(const UnrankedNode& other) const { auto thisIter = this->children.begin(); auto otherIter = other.children.begin(); - for(; thisIter != this->children.end(); thisIter++, otherIter++) { + for(; thisIter != this->children.end(); ++thisIter, ++otherIter) { int res = (*thisIter)->compare(**otherIter); if(res != 0) return res; } @@ -195,7 +195,7 @@ void UnrankedNode::nicePrint(std::ostream & os, const std::string & prefix, cons } os << (std::string) symbol << std::endl; - for (unsigned int i = 0; i < children.size(); i++) { + for (unsigned int i = 0; i < children.size(); ++i) { os << nextPrefix << "|" << std::endl; children[i] -> nicePrint(os, nextPrefix, i == children.size()-1); } diff --git a/alib2std/src/extensions/list.hpp b/alib2std/src/extensions/list.hpp index 389234eb555fc1ed3307e495d00d855400c3cb15..65fe68e730380aceee5e6125f79c59a29bc7370d 100644 --- a/alib2std/src/extensions/list.hpp +++ b/alib2std/src/extensions/list.hpp @@ -32,7 +32,7 @@ struct compare<list<T>> { if(first.size() > second.size()) return 1; compare<T> comp; - for(auto iterF = first.begin(), iterS = second.begin(); iterF != first.end(); iterF++, iterS++) { + for(auto iterF = first.begin(), iterS = second.begin(); iterF != first.end(); ++iterF, ++iterS) { int res = comp(*iterF, *iterS); if(res != 0) return res; } diff --git a/alib2std/src/extensions/map.hpp b/alib2std/src/extensions/map.hpp index 9b1f6313a0eaf021df3aa2d1be4b09722fabb0da..61133203178faa22508d276cfa42bafc74c1b49f 100644 --- a/alib2std/src/extensions/map.hpp +++ b/alib2std/src/extensions/map.hpp @@ -34,7 +34,7 @@ struct compare<map<T, R>> { if(first.size() > second.size()) return 1; compare<std::pair<T, R>> comp; - for(auto iterF = first.begin(), iterS = second.begin(); iterF != first.end(); iterF++, iterS++) { + for(auto iterF = first.begin(), iterS = second.begin(); iterF != first.end(); ++iterF, ++iterS) { int res = comp(*iterF, *iterS); if(res != 0) return res; } diff --git a/alib2std/src/extensions/set.hpp b/alib2std/src/extensions/set.hpp index 13ff62354ab8cf24e64485f7d5cc1317a26cb724..45d73931d03c88bd4cbfa06f10826822a47bed67 100644 --- a/alib2std/src/extensions/set.hpp +++ b/alib2std/src/extensions/set.hpp @@ -32,7 +32,7 @@ struct compare<set<T>> { if(first.size() > second.size()) return 1; compare<T> comp; - for(auto iterF = first.begin(), iterS = second.begin(); iterF != first.end(); iterF++, iterS++) { + for(auto iterF = first.begin(), iterS = second.begin(); iterF != first.end(); ++iterF, ++iterS) { int res = comp(*iterF, *iterS); if(res != 0) return res; } diff --git a/alib2std/src/extensions/unordered_map.hpp b/alib2std/src/extensions/unordered_map.hpp index e05f46314f4c7775725a21e73cc94813673c88e0..2413ef446d416e6bd376bc4888dcd08726a45828 100644 --- a/alib2std/src/extensions/unordered_map.hpp +++ b/alib2std/src/extensions/unordered_map.hpp @@ -32,7 +32,7 @@ struct compare<unordered_map<T, R>> { if(first.size() > second.size()) return 1; compare<R> comp; - for(auto iter = first.begin(); iter != first.end(); iter++) { + for(auto iter = first.begin(); iter != first.end(); ++iter) { auto search = second.find(iter->first); if(search == second.end()) return -1; int res = comp(iter->second, search->second); diff --git a/alib2std/src/extensions/vector.hpp b/alib2std/src/extensions/vector.hpp index 28397c3caa7080e7054454c4093e9cb277913cbc..ec101e339a4697cebd0b60b4c4ef79c13e5dd8a0 100644 --- a/alib2std/src/extensions/vector.hpp +++ b/alib2std/src/extensions/vector.hpp @@ -199,7 +199,7 @@ struct compare<vector<T>> { if(first.size() > second.size()) return 1; compare<T> comp; - for(auto iterF = first.begin(), iterS = second.begin(); iterF != first.end(); iterF++, iterS++) { + for(auto iterF = first.begin(), iterS = second.begin(); iterF != first.end(); ++iterF, ++iterS) { int res = comp(*iterF, *iterS); if(res != 0) return res; } @@ -214,7 +214,7 @@ struct compare<ptr_vector<T>> { if(first.size() > second.size()) return 1; compare<T> comp; - for(auto iterF = first.begin(), iterS = second.begin(); iterF != first.end(); iterF++, iterS++) { + for(auto iterF = first.begin(), iterS = second.begin(); iterF != first.end(); ++iterF, ++iterS) { int res = comp(*iterF, *iterS); if(res != 0) return res; }