#include <boost/tuple/tuple.hpp>
#include <boost/type_traits/is_copy_constructible.hpp>
+#include <boost/lockfree/detail/allocator_rebind_helper.hpp>
#include <boost/lockfree/detail/atomic.hpp>
#include <boost/lockfree/detail/copy_payload.hpp>
#include <boost/lockfree/detail/freelist.hpp>
}
template <typename U>
- explicit stack(typename node_allocator::template rebind<U>::other const & alloc):
+ explicit stack(typename detail::allocator_rebind_helper<node_allocator, U>::type const & alloc):
pool(alloc, capacity)
{
BOOST_STATIC_ASSERT(has_capacity);
}
template <typename U>
- stack(size_type n, typename node_allocator::template rebind<U>::other const & alloc):
+ stack(size_type n, typename detail::allocator_rebind_helper<node_allocator, U>::type const & alloc):
pool(alloc, n)
{
BOOST_STATIC_ASSERT(!has_capacity);