diff options
Diffstat (limited to 'third_party/base')
-rw-r--r-- | third_party/base/stl_util.h | 9 |
1 files changed, 9 insertions, 0 deletions
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 T> +class FakeUniquePtr : public std::unique_ptr<T> { + public: + using std::unique_ptr<T>::unique_ptr; + ~FakeUniquePtr() { std::unique_ptr<T>::release(); } +}; + // Convenience routine for "int-fected" code, so that the stl collection // size_t size() method return values will be checked. template <typename ResultType, typename Collection> |