From 70c39ad5ea88605195da43e6f3a6d96b8ddc3acf Mon Sep 17 00:00:00 2001 From: Daniel James Date: Wed, 7 Sep 2011 10:01:25 +0000 Subject: [PATCH] Unordered: Revert [74236]. On vacpp `has_select_on_container_copy_construction` was incorrectly returning positive for a non-const `select_on_container_copy_construction`. This resulted in a compile error as it tried to call it for a const allocator. The workaround seemed to have just made things worse so I'm reverting it. It's actually not that bad a problem as a non-const `select_on_container_copy_construction` is probably a mistake. [SVN r74294] --- include/boost/unordered/detail/allocator_helpers.hpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/include/boost/unordered/detail/allocator_helpers.hpp b/include/boost/unordered/detail/allocator_helpers.hpp index 2fc03a94..4cd6cfc8 100644 --- a/include/boost/unordered/detail/allocator_helpers.hpp +++ b/include/boost/unordered/detail/allocator_helpers.hpp @@ -250,15 +250,10 @@ namespace boost { namespace unordered { namespace detail { template struct has_select_on_container_copy_construction { -#if defined(__IBMCPP__) - BOOST_UNORDERED_CHECK_MEMBER(1, 2, - select_on_container_copy_construction, - T (T::*)()); -#endif - BOOST_UNORDERED_CHECK_MEMBER(2, 1, + BOOST_UNORDERED_CHECK_MEMBER(1, 1, select_on_container_copy_construction, T (T::*)() const); - BOOST_UNORDERED_DEFAULT_MEMBER(3, 2); + BOOST_UNORDERED_DEFAULT_MEMBER(2, 2); enum { value = sizeof(test(choose())) == sizeof(choice1::type) }; };