]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/core/alloc_construct.hpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / boost / core / alloc_construct.hpp
index 7b87525449c3af2e7d1f119e3759f2cf5c8050cd..e390730a086d18c6be1457f0450840fdf7f281ba 100644 (file)
@@ -12,12 +12,11 @@ Distributed under the Boost Software License, Version 1.0.
 
 namespace boost {
 
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
 template<class A, class T>
 inline void
 alloc_destroy(A& a, T* p)
 {
-    std::allocator_traits<A>::destroy(a, p);
+    boost::allocator_destroy(a, p);
 }
 
 template<class A, class T>
@@ -25,26 +24,25 @@ inline void
 alloc_destroy_n(A& a, T* p, std::size_t n)
 {
     while (n > 0) {
-        std::allocator_traits<A>::destroy(a, p + --n);
+        boost::allocator_destroy(a, p + --n);
     }
 }
-#else
+
 template<class A, class T>
 inline void
-alloc_destroy(A&, T* p)
+alloc_destroy(noinit_adaptor<A>&, T* p)
 {
     p->~T();
 }
 
 template<class A, class T>
 inline void
-alloc_destroy_n(A&, T* p, std::size_t n)
+alloc_destroy_n(noinit_adaptor<A>&, T* p, std::size_t n)
 {
     while (n > 0) {
         p[--n].~T();
     }
 }
-#endif
 
 namespace detail {
 
@@ -75,12 +73,11 @@ private:
 
 } /* detail */
 
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
 template<class A, class T>
 inline void
 alloc_construct(A& a, T* p)
 {
-    std::allocator_traits<A>::construct(a, p);
+    boost::allocator_construct(a, p);
 }
 
 #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
@@ -89,7 +86,7 @@ template<class A, class T, class U, class... V>
 inline void
 alloc_construct(A& a, T* p, U&& u, V&&... v)
 {
-    std::allocator_traits<A>::construct(a, p, std::forward<U>(u),
+    boost::allocator_construct(a, p, std::forward<U>(u),
         std::forward<V>(v)...);
 }
 #else
@@ -97,7 +94,7 @@ template<class A, class T, class U>
 inline void
 alloc_construct(A& a, T* p, U&& u)
 {
-    std::allocator_traits<A>::construct(a, p, std::forward<U>(u));
+    boost::allocator_construct(a, p, std::forward<U>(u));
 }
 #endif
 #else
@@ -105,14 +102,14 @@ template<class A, class T, class U>
 inline void
 alloc_construct(A& a, T* p, const U& u)
 {
-    std::allocator_traits<A>::construct(a, p, u);
+    boost::allocator_construct(a, p, u);
 }
 
 template<class A, class T, class U>
 inline void
 alloc_construct(A& a, T* p, U& u)
 {
-    std::allocator_traits<A>::construct(a, p, u);
+    boost::allocator_construct(a, p, u);
 }
 #endif
 
@@ -122,7 +119,7 @@ alloc_construct_n(A& a, T* p, std::size_t n)
 {
     detail::alloc_destroyer<A, T> hold(a, p);
     for (std::size_t& i = hold.size(); i < n; ++i) {
-        std::allocator_traits<A>::construct(a, p + i);
+        boost::allocator_construct(a, p + i);
     }
     hold.size() = 0;
 }
@@ -133,7 +130,7 @@ alloc_construct_n(A& a, T* p, std::size_t n, const T* l, std::size_t m)
 {
     detail::alloc_destroyer<A, T> hold(a, p);
     for (std::size_t& i = hold.size(); i < n; ++i) {
-        std::allocator_traits<A>::construct(a, p + i, l[i % m]);
+        boost::allocator_construct(a, p + i, l[i % m]);
     }
     hold.size() = 0;
 }
@@ -144,17 +141,10 @@ alloc_construct_n(A& a, T* p, std::size_t n, I b)
 {
     detail::alloc_destroyer<A, T> hold(a, p);
     for (std::size_t& i = hold.size(); i < n; void(++i), void(++b)) {
-        std::allocator_traits<A>::construct(a, p + i, *b);
+        boost::allocator_construct(a, p + i, *b);
     }
     hold.size() = 0;
 }
-#else
-template<class A, class T>
-inline void
-alloc_construct(A&, T* p)
-{
-    ::new(static_cast<void*>(p)) T();
-}
 
 template<class A, class T>
 inline void
@@ -163,49 +153,6 @@ alloc_construct(noinit_adaptor<A>&, T* p)
     ::new(static_cast<void*>(p)) T;
 }
 
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-template<class A, class T, class U, class... V>
-inline void
-alloc_construct(A&, T* p, U&& u, V&&... v)
-{
-    ::new(static_cast<void*>(p)) T(std::forward<U>(u), std::forward<V>(v)...);
-}
-#else
-template<class A, class T, class U>
-inline void
-alloc_construct(A& a, T* p, U&& u)
-{
-    ::new(static_cast<void*>(p)) T(std::forward<U>(u));
-}
-#endif
-#else
-template<class A, class T, class U>
-inline void
-alloc_construct(A&, T* p, const U& u)
-{
-    ::new(static_cast<void*>(p)) T(u);
-}
-
-template<class A, class T, class U>
-inline void
-alloc_construct(A&, T* p, U& u)
-{
-    ::new(static_cast<void*>(p)) T(u);
-}
-#endif
-
-template<class A, class T>
-inline void
-alloc_construct_n(A& a, T* p, std::size_t n)
-{
-    detail::alloc_destroyer<A, T> hold(a, p);
-    for (std::size_t& i = hold.size(); i < n; ++i) {
-        ::new(static_cast<void*>(p + i)) T();
-    }
-    hold.size() = 0;
-}
-
 template<class A, class T>
 inline void
 alloc_construct_n(noinit_adaptor<A>& a, T* p, std::size_t n)
@@ -217,29 +164,6 @@ alloc_construct_n(noinit_adaptor<A>& a, T* p, std::size_t n)
     hold.size() = 0;
 }
 
-template<class A, class T>
-inline void
-alloc_construct_n(A& a, T* p, std::size_t n, const T* l, std::size_t m)
-{
-    detail::alloc_destroyer<A, T> hold(a, p);
-    for (std::size_t& i = hold.size(); i < n; ++i) {
-        ::new(static_cast<void*>(p + i)) T(l[i % m]);
-    }
-    hold.size() = 0;
-}
-
-template<class A, class T, class I>
-inline void
-alloc_construct_n(A& a, T* p, std::size_t n, I b)
-{
-    detail::alloc_destroyer<A, T> hold(a, p);
-    for (std::size_t& i = hold.size(); i < n; void(++i), void(++b)) {
-        ::new(static_cast<void*>(p + i)) T(*b);
-    }
-    hold.size() = 0;
-}
-#endif
-
 } /* boost */
 
 #endif