summaryrefslogtreecommitdiffstats
path: root/src/tools/qlalr/cppgenerator.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2016-01-25 12:20:01 +0100
committerMarc Mutz <marc.mutz@kdab.com>2016-01-26 11:21:43 +0000
commit956021dbfcecfdcab0c8f72deca68d731be79898 (patch)
tree0cebbf89f468e25b98cea7fe55ac8f56c64e9b00 /src/tools/qlalr/cppgenerator.cpp
parentcf9d112d7a99502b7f68c3bce5fe5e2a6d123917 (diff)
qlalr: eradicate all Q_FOREACH loops
... by replacing them with C++11 range-for, or, for loops over .values(), with explicit iterator loops over the result of equal_range(). Some fixes here and there to get to mark containers const for iteration, without having to resort to qAsConst(). Didn't work everywhere. Change-Id: Ibc0e71d3b208d118f06e16741af47261ef4b9e15 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Diffstat (limited to 'src/tools/qlalr/cppgenerator.cpp')
-rw-r--r--src/tools/qlalr/cppgenerator.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/tools/qlalr/cppgenerator.cpp b/src/tools/qlalr/cppgenerator.cpp
index fa037d4b0a..efceb8c520 100644
--- a/src/tools/qlalr/cppgenerator.cpp
+++ b/src/tools/qlalr/cppgenerator.cpp
@@ -159,12 +159,12 @@ void CppGenerator::operator () ()
int r = aut.id (item->rule);
- NameSet lookaheads = aut.lookaheads.value (item);
+ const NameSet lookaheads = aut.lookaheads.value (item);
if (item->rule == grammar.goal)
accept_state = q;
- foreach (const Name &s, lookaheads)
+ for (const Name &s : lookaheads)
{
int &u = ACTION (q, aut.id (s));
@@ -448,7 +448,7 @@ void CppGenerator::generateDecl (QTextStream &out)
<< "public:" << endl
<< " enum VariousConstants {" << endl;
- foreach (Name t, grammar.terminals)
+ for (Name t : qAsConst(grammar.terminals))
{
QString name = *t;
int value = std::distance (grammar.names.begin (), t);
@@ -606,7 +606,7 @@ void CppGenerator::generateImpl (QTextStream &out)
out << endl << "#ifndef " << prot << endl;
out << "const int " << grammar.table_name << "::rule_info [] = {";
idx = 0;
- for (RulePointer rule = grammar.rules.begin (); rule != grammar.rules.end (); ++rule, ++idx)
+ for (auto rule = grammar.rules.cbegin (); rule != grammar.rules.cend (); ++rule, ++idx)
{
out << endl << " ";
@@ -617,7 +617,7 @@ void CppGenerator::generateImpl (QTextStream &out)
out << name_ids.value(rule->lhs);
- foreach (const Name &n, rule->rhs)
+ for (const Name &n : rule->rhs)
out << ", " << name_ids.value (n);
}
out << "};" << endl << endl;