diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,7 +41,7 @@ add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") ########### Targets ########### - +add_definitions(-DQT_NO_FOREACH) add_subdirectory(src) if(BUILD_TESTING) diff --git a/src/mapper/feedatomimpl.cpp b/src/mapper/feedatomimpl.cpp --- a/src/mapper/feedatomimpl.cpp +++ b/src/mapper/feedatomimpl.cpp @@ -150,8 +150,8 @@ QMultiMap FeedAtomImpl::additionalProperties() const { QMultiMap ret; - - foreach (const QDomElement &i, m_doc->unhandledElements()) { + const auto unhandledElements = m_doc->unhandledElements(); + for (const QDomElement &i : unhandledElements) { ret.insert(i.namespaceURI() + i.localName(), i); } diff --git a/src/mapper/feedrss2impl.cpp b/src/mapper/feedrss2impl.cpp --- a/src/mapper/feedrss2impl.cpp +++ b/src/mapper/feedrss2impl.cpp @@ -117,7 +117,8 @@ { QMultiMap ret; - foreach (const QDomElement &i, m_doc->unhandledElements()) { + const auto unhandledElements = m_doc->unhandledElements(); + for (const QDomElement &i : unhandledElements) { ret.insert(i.namespaceURI() + i.localName(), i); } diff --git a/src/mapper/itematomimpl.cpp b/src/mapper/itematomimpl.cpp --- a/src/mapper/itematomimpl.cpp +++ b/src/mapper/itematomimpl.cpp @@ -213,8 +213,8 @@ QMultiMap ItemAtomImpl::additionalProperties() const { QMultiMap ret; - - foreach (const QDomElement &i, m_entry.unhandledElements()) { + const auto unhandledElements = m_entry.unhandledElements(); + for (const QDomElement &i : unhandledElements) { ret.insert(i.namespaceURI() + i.localName(), i); } diff --git a/src/mapper/itemrss2impl.cpp b/src/mapper/itemrss2impl.cpp --- a/src/mapper/itemrss2impl.cpp +++ b/src/mapper/itemrss2impl.cpp @@ -184,7 +184,8 @@ { QMultiMap ret; - foreach (const QDomElement &i, m_item.unhandledElements()) { + const auto unhandledElements = m_item.unhandledElements(); + for (const QDomElement &i : unhandledElements) { ret.insert(i.namespaceURI() + i.localName(), i); } diff --git a/src/parsercollectionimpl.h b/src/parsercollectionimpl.h --- a/src/parsercollectionimpl.h +++ b/src/parsercollectionimpl.h @@ -127,7 +127,7 @@ } } - Q_FOREACH (AbstractParser *i, m_parserList) { + for (AbstractParser *i : qAsConst(m_parserList)) { if (i->accept(source)) { SpecificDocumentPtr doc = i->parse(source); if (!doc->isValid()) { diff --git a/src/rdf/document.cpp b/src/rdf/document.cpp --- a/src/rdf/document.cpp +++ b/src/rdf/document.cpp @@ -155,16 +155,16 @@ { QVector toSort; toSort.reserve(items.size()); - Q_FOREACH (const Item &i, items) { + for (const Item &i : items) { SortItem item; item.item = i; item.index = uriSequence.indexOf(i.resource()->uri()); toSort.append(item); } std::sort(toSort.begin(), toSort.end(), LessThanByIndex()); int i = 0; - Q_FOREACH (const SortItem &sortItem, toSort) { + for (const SortItem &sortItem : qAsConst(toSort)) { items[i] = sortItem.item; i++; } @@ -191,7 +191,7 @@ QList list; list.reserve(items.count()); - Q_FOREACH (const ResourcePtr &i, items) { + for (const ResourcePtr &i : qAsConst(items)) { list.append(Item(i, doccpy)); } @@ -205,7 +205,7 @@ QStringList uriSequence; uriSequence.reserve(seqItems.size()); - Q_FOREACH (const NodePtr &i, seqItems) + for (const NodePtr &i : seqItems) if (i->isResource()) { uriSequence.append(i.staticCast()->uri()); } diff --git a/src/rdf/model.cpp b/src/rdf/model.cpp --- a/src/rdf/model.cpp +++ b/src/rdf/model.cpp @@ -254,7 +254,7 @@ QString Model::debugInfo() const { QString info; - foreach (const StatementPtr &stmtPtr, d->statements) { + for (const StatementPtr &stmtPtr : qAsConst(d->statements)) { info += QStringLiteral("<%1> <%2> ").arg(stmtPtr->subject()->uri(), stmtPtr->predicate()->uri()); if (stmtPtr->object()->isLiteral()) { @@ -271,7 +271,7 @@ { QList list; - foreach (const StatementPtr &stmtPtr, d->statements) { + for (const StatementPtr &stmtPtr : qAsConst(d->statements)) { if (*(stmtPtr->predicate()) == *(RDFVocab::self()->type()) && *(stmtPtr->object()) == *type) { list.append(stmtPtr->subject()); } diff --git a/src/rdf/parser.cpp b/src/rdf/parser.cpp --- a/src/rdf/parser.cpp +++ b/src/rdf/parser.cpp @@ -183,7 +183,7 @@ // use QMap here, not QHash. as we need the sorting functionality QMap sorted; - foreach (const ResourcePtr &i, items) { + for (const ResourcePtr &i : items) { QString numstr = i->property(itemIndex)->asString(); bool ok = false; uint num = numstr.toUInt(&ok); @@ -195,7 +195,7 @@ SequencePtr seq = model.createSequence(); model.addStatement(channels.first(), RSSVocab::self()->items(), seq); - foreach (const ResourcePtr &i, sorted) { + for (const ResourcePtr &i : qAsConst(sorted)) { seq->append(i); // add rdf:about (type) model.addStatement(i, RDFVocab::self()->type(), RSSVocab::self()->item());