diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2017-05-18 14:49:04 +0200 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-12-05 00:47:44 +0100 |
commit | 105a66e6543467863a39cd12271f125b45d74179 (patch) | |
tree | 3362c298e5e930b6a7791584fe065aa0f8bd8a57 /qmake | |
parent | f19266bd02a01d4b7b277ea769c4c17727b1e661 (diff) |
Use (new) erase()/erase_if() algorithms
Change-Id: I45c18fd45c20b226e44d16315e3ebb6c305d4ab0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/CMakeLists.txt | 1 | ||||
-rw-r--r-- | qmake/generators/makefile.cpp | 4 | ||||
-rw-r--r-- | qmake/library/proitems.cpp | 19 | ||||
-rw-r--r-- | qmake/qmake.pro | 1 |
4 files changed, 7 insertions, 18 deletions
diff --git a/qmake/CMakeLists.txt b/qmake/CMakeLists.txt index 133472b78d..3897ea192c 100644 --- a/qmake/CMakeLists.txt +++ b/qmake/CMakeLists.txt @@ -113,6 +113,7 @@ qt_internal_add_tool(${target_name} ../src/corelib/time/qgregoriancalendar.cpp ../src/corelib/time/qgregoriancalendar_p.h # special case ../src/corelib/time/qromancalendar.cpp ../src/corelib/time/qromancalendar_p.h # special case ../src/corelib/time/qdatetime.cpp ../src/corelib/time/qdatetime.h ../src/corelib/time/qdatetime_p.h # special case + ../src/corelib/tools/qduplicatetracker_p.h ../src/corelib/tools/qhash.cpp ../src/corelib/tools/qhash.h ../src/corelib/tools/qlist.h ../src/corelib/tools/qmap.h diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index da6d42c88e..1f60f29215 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -940,9 +940,7 @@ MakefileGenerator::filterIncludedFiles(const char *var) auto isIncluded = [this](const ProString &input) { return QMakeSourceFileInfo::included(input.toQString()) > 0; }; - inputs.erase(std::remove_if(inputs.begin(), inputs.end(), - isIncluded), - inputs.end()); + inputs.removeIf(isIncluded); } static QString diff --git a/qmake/library/proitems.cpp b/qmake/library/proitems.cpp index e1cfbad8a1..ba817596c5 100644 --- a/qmake/library/proitems.cpp +++ b/qmake/library/proitems.cpp @@ -32,6 +32,7 @@ #include <qset.h> #include <qstringlist.h> #include <qtextstream.h> +#include <private/qduplicatetracker_p.h> QT_BEGIN_NAMESPACE @@ -403,21 +404,9 @@ void ProStringList::removeEmpty() void ProStringList::removeDuplicates() { - int n = size(); - int j = 0; - QSet<ProString> seen; - seen.reserve(n); - for (int i = 0; i < n; ++i) { - const ProString &s = at(i); - if (seen.contains(s)) - continue; - seen.insert(s); - if (j != i) - (*this)[j] = s; - ++j; - } - if (n != j) - erase(begin() + j, end()); + QDuplicateTracker<ProString> seen; + seen.reserve(size()); + removeIf([&](const ProString &s) { return seen.hasSeen(s); }); } void ProStringList::insertUnique(const ProStringList &value) diff --git a/qmake/qmake.pro b/qmake/qmake.pro index 4ff467f5ca..7474d5d54d 100644 --- a/qmake/qmake.pro +++ b/qmake/qmake.pro @@ -187,6 +187,7 @@ HEADERS += \ qcryptographichash.h \ qdatetime.h \ qdatetime_p.h \ + qduplicatetracker_p.h \ qdir.h \ qdir_p.h \ qdiriterator.h \ |