]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/lockfree/detail/allocator_rebind_helper.hpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / boost / lockfree / detail / allocator_rebind_helper.hpp
diff --git a/ceph/src/boost/boost/lockfree/detail/allocator_rebind_helper.hpp b/ceph/src/boost/boost/lockfree/detail/allocator_rebind_helper.hpp
new file mode 100644 (file)
index 0000000..d9e2ce6
--- /dev/null
@@ -0,0 +1,32 @@
+//  boost lockfree: allocator rebind helper
+//
+//  Copyright (C) 2017 Minmin Gong
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_LOCKFREE_ALLOCATOR_REBIND_HELPER_HPP_INCLUDED
+#define BOOST_LOCKFREE_ALLOCATOR_REBIND_HELPER_HPP_INCLUDED
+
+#include <memory>
+
+namespace boost    {
+namespace lockfree {
+namespace detail   {
+
+template <class allocator_type, class value_type>
+struct allocator_rebind_helper
+{
+#if !defined( BOOST_NO_CXX11_ALLOCATOR )
+    typedef typename std::allocator_traits<allocator_type>::template rebind_alloc<value_type> type;
+#else
+    typedef typename allocator_type::template rebind<value_type>::other type;
+#endif
+};
+
+} /* namespace detail */
+} /* namespace lockfree */
+} /* namespace boost */
+
+#endif /* BOOST_LOCKFREE_ALLOCATOR_REBIND_HELPER_HPP_INCLUDED */