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/library | |
parent | f19266bd02a01d4b7b277ea769c4c17727b1e661 (diff) | |
download | qtbase-105a66e6543467863a39cd12271f125b45d74179.tar.gz |
Use (new) erase()/erase_if() algorithms
Change-Id: I45c18fd45c20b226e44d16315e3ebb6c305d4ab0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'qmake/library')
-rw-r--r-- | qmake/library/proitems.cpp | 19 |
1 files changed, 4 insertions, 15 deletions
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) |