From fdfd63053ae6b10af06553be3c1b15de274bebf7 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 28 Jan 2016 16:48:36 +0100 Subject: QtBase: avoid uses of Java-style iterators [QHash, QMap] Java-style iterators are slower than STL-style ones, so they should not be used in library code. Replaced them with C++11 range-for, STL iterators or, in one case, qDeleteAll(). In one case, avoid a double hash lookup by using erase(it) instead of remove(it.key()), which we can now do without detaching, due to the new erase() taking const_iterator. Change-Id: I96174657fed70f76120b2c9d8190b4e70d5d8179 Reviewed-by: Lars Knoll --- qmake/generators/win32/msvc_vcproj.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'qmake/generators') diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp index d473f3df9f..6219252161 100644 --- a/qmake/generators/win32/msvc_vcproj.cpp +++ b/qmake/generators/win32/msvc_vcproj.cpp @@ -685,9 +685,7 @@ void VcprojGenerator::writeSubDirs(QTextStream &t) t << _slnGlobalBeg; - QHashIterator extraIt(extraSubdirs); - while (extraIt.hasNext()) { - extraIt.next(); + for (auto extraIt = extraSubdirs.cbegin(), end = extraSubdirs.cend(); extraIt != end; ++extraIt) { for (const QString &depend : extraIt.value()) { if (!projGuids[depend].isEmpty()) { extraIt.key()->dependencies << projGuids[depend]; -- cgit v1.2.3