diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2019-12-05 15:18:43 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2019-12-05 15:18:43 +0900 |
commit | 5ce2ccf2f23c6d3de4c79f216f57ca6f2a18ed16 (patch) | |
tree | bbee48efb9867d19ac3fdd84ba714c7af326cd53 /boost/lockfree/queue.hpp | |
parent | b8cf34c691623e4ec329053cbbf68522a855882d (diff) | |
download | boost-5ce2ccf2f23c6d3de4c79f216f57ca6f2a18ed16.tar.gz boost-5ce2ccf2f23c6d3de4c79f216f57ca6f2a18ed16.tar.bz2 boost-5ce2ccf2f23c6d3de4c79f216f57ca6f2a18ed16.zip |
Imported Upstream version 1.68.0upstream/1.68.0
Diffstat (limited to 'boost/lockfree/queue.hpp')
-rw-r--r-- | boost/lockfree/queue.hpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/boost/lockfree/queue.hpp b/boost/lockfree/queue.hpp index bb699efc45..808bebd6c5 100644 --- a/boost/lockfree/queue.hpp +++ b/boost/lockfree/queue.hpp @@ -17,6 +17,7 @@ #include <boost/type_traits/has_trivial_destructor.hpp> #include <boost/config.hpp> // for BOOST_LIKELY & BOOST_ALIGNMENT +#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> @@ -35,6 +36,14 @@ #pragma warning(disable: 4324) // structure was padded due to __declspec(align()) #endif +#if defined(BOOST_INTEL) && (BOOST_INTEL_CXX_VERSION > 1000) +#pragma warning(push) +#pragma warning(disable:488) // template parameter unused in declaring parameter types, + // gets erronously triggered the queue constructor which + // takes an allocator of another type and rebinds it +#endif + + namespace boost { namespace lockfree { @@ -181,7 +190,7 @@ public: } template <typename U> - explicit queue(typename node_allocator::template rebind<U>::other const & alloc): + explicit queue(typename detail::allocator_rebind_helper<node_allocator, U>::type const & alloc): head_(tagged_node_handle(0, 0)), tail_(tagged_node_handle(0, 0)), pool(alloc, capacity) @@ -212,7 +221,7 @@ public: } template <typename U> - queue(size_type n, typename node_allocator::template rebind<U>::other const & alloc): + queue(size_type n, typename detail::allocator_rebind_helper<node_allocator, U>::type const & alloc): head_(tagged_node_handle(0, 0)), tail_(tagged_node_handle(0, 0)), pool(alloc, n + 1) @@ -544,6 +553,10 @@ private: } /* namespace lockfree */ } /* namespace boost */ +#if defined(BOOST_INTEL) && (BOOST_INTEL_CXX_VERSION > 1000) +#pragma warning(pop) +#endif + #if defined(_MSC_VER) #pragma warning(pop) #endif |