From 4ab2abf37981e7dcdfaa92a2b6a788495d7ce5a4 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 5 May 2020 07:41:51 +0200 Subject: [PATCH] QDuplicateTracker: add rvalue overload We have at least one user that only ever passes rvalues. Change-Id: I3f190b8d074e40a23c52e791635c9a1c45ba00ab Reviewed-by: Lars Knoll --- src/corelib/tools/qduplicatetracker_p.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/corelib/tools/qduplicatetracker_p.h b/src/corelib/tools/qduplicatetracker_p.h index 99068c01a3..cd57d4aed5 100644 --- a/src/corelib/tools/qduplicatetracker_p.h +++ b/src/corelib/tools/qduplicatetracker_p.h @@ -84,6 +84,18 @@ public: set.insert(s); const int n = set.size(); inserted = qExchange(setSize, n) != n; +#endif + return !inserted; + } + Q_REQUIRED_RESULT bool hasSeen(T &&s) + { + bool inserted; +#ifdef __cpp_lib_memory_resource + inserted = set.insert(std::move(s)).second; +#else + set.insert(std::move(s)); + const int n = set.size(); + inserted = qExchange(setSize, n) != n; #endif return !inserted; }