Change a couple of HashMap value types from OwnPtr to std::unique_ptr
[WebKit-https.git] / Source / WTF / wtf / StdLibExtras.h
index 7746d9a..bd07d64 100644 (file)
@@ -344,6 +344,31 @@ namespace std {
     {
         return unique_ptr<T>(new T(std::forward<A1>(a1), std::forward<A2>(a2)));
     }
+
+    template<class T, class A1, class A2, class A3> typename _Unique_if<T>::_Single_object
+    make_unique(A1&& a1, A1&& a2, A3&& a3)
+    {
+        return unique_ptr<T>(new T(std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3)));
+    }
+
+    template<class T, class A1, class A2, class A3, class A4> typename _Unique_if<T>::_Single_object
+    make_unique(A1&& a1, A1&& a2, A3&& a3, A4&& a4)
+    {
+        return unique_ptr<T>(new T(std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4)));
+    }
+
+    template<class T, class A1, class A2, class A3, class A4, class A5> typename _Unique_if<T>::_Single_object
+    make_unique(A1&& a1, A1&& a2, A3&& a3, A4&& a4, A5&& a5)
+    {
+        return unique_ptr<T>(new T(std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4), std::forward<A5>(a5)));
+    }
+
+    template<class T, class A1, class A2, class A3, class A4, class A5, class A6> typename _Unique_if<T>::_Single_object
+    make_unique(A1&& a1, A1&& a2, A3&& a3, A4&& a4, A5&& a5, A6&& a6)
+    {
+        return unique_ptr<T>(new T(std::forward<A1>(a1), std::forward<A2>(a2), std::forward<A3>(a3), std::forward<A4>(a4), std::forward<A5>(a5), std::forward<A6>(a6)));
+    }
+
 #endif
 
     template<class T> typename _Unique_if<T>::_Unknown_bound