From a752edfd2ddc4913aeffd31b67f6fdb53e4116ae Mon Sep 17 00:00:00 2001 From: tsepez Date: Fri, 19 Aug 2016 14:57:42 -0700 Subject: Introduce pdfium::FakeUniquePtr for keys to sets of unique ptrs. Review-Url: https://codereview.chromium.org/2262473002 --- third_party/base/stl_util.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'third_party') diff --git a/third_party/base/stl_util.h b/third_party/base/stl_util.h index 2d1846724c..ccf3c09073 100644 --- a/third_party/base/stl_util.h +++ b/third_party/base/stl_util.h @@ -27,6 +27,15 @@ bool ContainsValue(const Collection& collection, const Value& value) { collection.end(); } +// Means of generating a key for searching STL collections of std::unique_ptr +// that avoids the side effect of deleting the pointer. +template +class FakeUniquePtr : public std::unique_ptr { + public: + using std::unique_ptr::unique_ptr; + ~FakeUniquePtr() { std::unique_ptr::release(); } +}; + // Convenience routine for "int-fected" code, so that the stl collection // size_t size() method return values will be checked. template -- cgit v1.2.3