diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2020-06-04 17:39:20 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2020-06-08 10:53:20 +0000 |
commit | 6ec41bd550703aa06ed772fb0f58b7395db40fd3 (patch) | |
tree | 8f3fdb7b643a50c8b31c5937cd7ab61e139b6b80 /src/corelib | |
parent | 48b1bc48f1367a47d0c522b4106eb6eba5c699b8 (diff) |
QSsl: port a local QStringList to QDuplicateTracker
Apart from a more fitting, minimal, API, QDuplicateTracker also
transparently uses C++17 pmr::monotonic_buffer_resource to avoid, or
at least reduce, memory allocations.
The code is the first user of the collected data, so make that
available by adding QDuplicateTracker::appendTo(Container&) methods.
Change-Id: Ibd8810c0070db7e6b3ead6d6a569facdab88b646
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/tools/qduplicatetracker_p.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/corelib/tools/qduplicatetracker_p.h b/src/corelib/tools/qduplicatetracker_p.h index cd57d4aed5..baf21bfd12 100644 --- a/src/corelib/tools/qduplicatetracker_p.h +++ b/src/corelib/tools/qduplicatetracker_p.h @@ -99,6 +99,20 @@ public: #endif return !inserted; } + + template <typename C> + void appendTo(C &c) const & + { + for (const auto &e : set) + c.push_back(e); + } + + template <typename C> + void appendTo(C &c) && + { + for (auto &e : set) + c.push_back(std::move(e)); + } }; QT_END_NAMESPACE |