boost/lockfree/detail/allocator_rebind_helper.hpp
// 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 */