Index: webrtc/base/scoped_ptr.h |
diff --git a/webrtc/base/scoped_ptr.h b/webrtc/base/scoped_ptr.h |
index d6aedfc1982b5c976b1d5855a47f200433e7cd4b..955bcfeab4907d3f45a64e2e0b50b98dd18addc6 100644 |
--- a/webrtc/base/scoped_ptr.h |
+++ b/webrtc/base/scoped_ptr.h |
@@ -88,6 +88,7 @@ |
#include <algorithm> // For std::swap(). |
#include <cstddef> |
+#include <memory> |
#include "webrtc/base/constructormagic.h" |
#include "webrtc/base/deprecation.h" |
@@ -605,6 +606,16 @@ void swap(rtc::scoped_ptr<T, D>& p1, rtc::scoped_ptr<T, D>& p2) { |
p1.swap(p2); |
} |
+// Convert between the most common kinds of scoped_ptr and unique_ptr. |
+template <typename T> |
+std::unique_ptr<T> ScopedToUnique(scoped_ptr<T> sp) { |
+ return std::unique_ptr<T>(sp.release()); |
+} |
+template <typename T> |
+scoped_ptr<T> UniqueToScoped(std::unique_ptr<T> up) { |
+ return scoped_ptr<T>(up.release()); |
+} |
+ |
} // namespace rtc |
template <class T, class D> |