summaryrefslogtreecommitdiff
path: root/third_party/base
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/base')
-rw-r--r--third_party/base/stl_util.h9
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>