]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/assign/std/queue.hpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / boost / assign / std / queue.hpp
index d6023e8a12b739615c11ac000278528200e85074..009dc20973059aa06f178170077af645cec5418f 100644 (file)
 
 #include <boost/assign/list_inserter.hpp>
 #include <boost/config.hpp>
+#include <boost/move/utility.hpp>
 #include <queue>
 
 namespace boost
 {
 namespace assign
 {
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
 
     template< class V, class C, class V2 >
     inline list_inserter< assign_detail::call_push< std::queue<V,C> >, V >
@@ -39,6 +41,23 @@ namespace assign
         return push( c )( v );
     }
 
+#else
+
+    template< class V, class C, class V2 >
+    inline list_inserter< assign_detail::call_push< std::queue<V, C> >, V >
+    operator+=(std::queue<V, C>& c, V2&& v)
+    {
+        return push(c)(boost::forward<V2>(v));
+    }
+
+    template< class V, class C, class V2 >
+    inline list_inserter< assign_detail::call_push< std::priority_queue<V, C> >, V >
+    operator+=(std::priority_queue<V, C>& c, V2&& v)
+    {
+        return push(c)(boost::forward<V2>(v));
+    }
+
+#endif
 }
 }