diff --git a/src/corelib/tools/qduplicatetracker_p.h b/src/corelib/tools/qduplicatetracker_p.h index 817d259d23..c21b67ffa3 100644 --- a/src/corelib/tools/qduplicatetracker_p.h +++ b/src/corelib/tools/qduplicatetracker_p.h @@ -55,6 +55,7 @@ #if QT_HAS_INCLUDE() && __cplusplus > 201402L # include # include +# include // for the hashing helpers #else # include #endif @@ -64,9 +65,16 @@ QT_BEGIN_NAMESPACE template class QDuplicateTracker { #ifdef __cpp_lib_memory_resource + template + struct QHasher { + size_t operator()(const HT &t) const { + return QHashPrivate::calculateHash(t, qGlobalQHashSeed()); + } + }; + char buffer[Prealloc * sizeof(T)]; std::pmr::monotonic_buffer_resource res{buffer, sizeof buffer}; - std::pmr::unordered_set set{&res}; + std::pmr::unordered_set> set{&res}; #else QSet set; int setSize = 0;