From b078259d81b30dc113b89d1de533376fc9af6c3c Mon Sep 17 00:00:00 2001 From: Tomas Pecka <tomas.pecka@fit.cvut.cz> Date: Thu, 9 Apr 2020 11:49:39 +0200 Subject: [PATCH] remove unwanted copies --- .../src/automaton/properties/SynchronizingWordExistence.h | 4 ++-- .../GeneralizedLevenshteinSequenceMatchingAutomaton.h | 2 +- .../stringology/matching/HammingSequenceMatchingAutomaton.h | 2 +- .../indexes/stringology/SuffixTrieNodeTerminatingSymbol.cpp | 2 +- alib2graph_algo/src/maximum_flow/FordFulkerson.cpp | 6 +++--- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/alib2algo/src/automaton/properties/SynchronizingWordExistence.h b/alib2algo/src/automaton/properties/SynchronizingWordExistence.h index 1cf13953a9..c7a92cba10 100644 --- a/alib2algo/src/automaton/properties/SynchronizingWordExistence.h +++ b/alib2algo/src/automaton/properties/SynchronizingWordExistence.h @@ -66,7 +66,7 @@ bool SynchronizingWordExistence::exists ( const automaton::DFA < SymbolType, Sta std::queue < ext::pair < StateType, StateType > > q; ext::set < ext::pair < StateType, StateType > > visited; - for ( const ext::pair < StateType, StateType > state: cart.getStates ( ) ) { + for ( const ext::pair < StateType, StateType > & state: cart.getStates ( ) ) { if ( state.first != state.second ) continue; @@ -78,7 +78,7 @@ bool SynchronizingWordExistence::exists ( const automaton::DFA < SymbolType, Sta const ext::pair < StateType, StateType > cstate = std::move ( q.front ( ) ); q.pop ( ); - for ( const auto transition : cart.getTransitionsToState ( cstate ) ) { + for ( const auto & transition : cart.getTransitionsToState ( cstate ) ) { const auto & srcState = transition.first.first; if ( visited.count ( srcState ) == 0 ) { diff --git a/alib2algo/src/stringology/matching/GeneralizedLevenshteinSequenceMatchingAutomaton.h b/alib2algo/src/stringology/matching/GeneralizedLevenshteinSequenceMatchingAutomaton.h index c350f99f54..21b30fd8fd 100644 --- a/alib2algo/src/stringology/matching/GeneralizedLevenshteinSequenceMatchingAutomaton.h +++ b/alib2algo/src/stringology/matching/GeneralizedLevenshteinSequenceMatchingAutomaton.h @@ -72,7 +72,7 @@ template < class SymbolType > automaton::EpsilonNFA < SymbolType, ext::pair<unsigned int, unsigned int> > GeneralizedLevenshteinSequenceMatchingAutomaton::construct(const string::WildcardLinearString < SymbolType > & pattern, unsigned int allowed_errors) { auto result = stringology::matching::GeneralizedLevenshteinMatchingAutomaton::construct(pattern, allowed_errors); - SymbolType wildcard = pattern.getWildcardSymbol(); + const SymbolType& wildcard = pattern.getWildcardSymbol(); ext::set<SymbolType> alphabet_without_wildcard = pattern.getAlphabet(); alphabet_without_wildcard.erase(wildcard); diff --git a/alib2algo/src/stringology/matching/HammingSequenceMatchingAutomaton.h b/alib2algo/src/stringology/matching/HammingSequenceMatchingAutomaton.h index 398e76c49a..8fd3ec406c 100644 --- a/alib2algo/src/stringology/matching/HammingSequenceMatchingAutomaton.h +++ b/alib2algo/src/stringology/matching/HammingSequenceMatchingAutomaton.h @@ -61,7 +61,7 @@ template < class SymbolType > automaton::NFA < SymbolType, ext::pair<unsigned int, unsigned int> > HammingSequenceMatchingAutomaton::construct(const string::WildcardLinearString < SymbolType > & pattern, unsigned int allowed_errors) { automaton::NFA < SymbolType, ext::pair<unsigned int, unsigned int > > result = stringology::matching::HammingMatchingAutomaton::construct(pattern, allowed_errors); - SymbolType wildcard = pattern.getWildcardSymbol(); + const SymbolType& wildcard = pattern.getWildcardSymbol(); ext::set<SymbolType> alphabet_without_wildcard = pattern.getAlphabet(); alphabet_without_wildcard.erase(wildcard); diff --git a/alib2data_experimental/src/indexes/stringology/SuffixTrieNodeTerminatingSymbol.cpp b/alib2data_experimental/src/indexes/stringology/SuffixTrieNodeTerminatingSymbol.cpp index 0ce9efe7b2..eea84c0f76 100644 --- a/alib2data_experimental/src/indexes/stringology/SuffixTrieNodeTerminatingSymbol.cpp +++ b/alib2data_experimental/src/indexes/stringology/SuffixTrieNodeTerminatingSymbol.cpp @@ -64,7 +64,7 @@ SuffixTrieNodeTerminatingSymbol & SuffixTrieNodeTerminatingSymbol::operator =( S } SuffixTrieNodeTerminatingSymbol::~SuffixTrieNodeTerminatingSymbol ( ) noexcept { - for ( auto element : m_children ) + for ( const auto& element : m_children ) delete element.second; m_children.clear ( ); diff --git a/alib2graph_algo/src/maximum_flow/FordFulkerson.cpp b/alib2graph_algo/src/maximum_flow/FordFulkerson.cpp index 7f4e75b6a2..82155040fd 100644 --- a/alib2graph_algo/src/maximum_flow/FordFulkerson.cpp +++ b/alib2graph_algo/src/maximum_flow/FordFulkerson.cpp @@ -161,15 +161,15 @@ static Flow fordfulkerson_impl_dir(const DirectedGraph &graph, updateFlow_dir(source, sink, ctx); // assign negative flow for the reversed pairs of nodes ? - for (auto u : ctx.flow) - for (auto v : u.second) + for (auto& u : ctx.flow) + for (auto& v : u.second) if (ctx.flow[u.first][v.first] != 0) ctx.flow[v.first][u.first] = -ctx.flow[u.first][v.first]; return ctx.flow; } -static Flow fordfulkerson_impl_undir(const UndirectedGraph &ugraph, node::Node source, node::Node sink) { +static Flow fordfulkerson_impl_undir(const UndirectedGraph &ugraph, const node::Node& source, const node::Node& sink) { DirectedGraph graph; for (auto &node: ugraph.getNodes()) { -- GitLab