Index: third_party/base/stl_util.h |
diff --git a/third_party/base/stl_util.h b/third_party/base/stl_util.h |
index 2d1846724c3094161ce910986fd13be10c7b9f62..ccf3c09073abd9e213addb85bd7ad333c29196e3 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> |