summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2017-05-18 14:49:04 +0200
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2020-12-05 00:47:44 +0100
commit105a66e6543467863a39cd12271f125b45d74179 (patch)
tree3362c298e5e930b6a7791584fe065aa0f8bd8a57 /qmake
parentf19266bd02a01d4b7b277ea769c4c17727b1e661 (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.txt1
-rw-r--r--qmake/generators/makefile.cpp4
-rw-r--r--qmake/library/proitems.cpp19
-rw-r--r--qmake/qmake.pro1
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 \