diff --git a/include/boost/unordered/detail/buckets.hpp b/include/boost/unordered/detail/buckets.hpp index 31e1ee59..e0835c56 100644 --- a/include/boost/unordered/detail/buckets.hpp +++ b/include/boost/unordered/detail/buckets.hpp @@ -359,21 +359,6 @@ namespace boost { namespace unordered { namespace detail { template inline node_pointer copy_of(T const& v) { - if (nodes_) { - node_tmp a(pop_node(), constructor_.alloc_); - a.node_->value() = v; - return a.release(); - } - else { - constructor_.create_node(); - boost::unordered::detail::func::call_construct( - constructor_.alloc_, constructor_.node_->value_ptr(), v); - return constructor_.release(); - } - } - - template - inline node_pointer copy_of(std::pair const& v) { if (nodes_) { constructor_.reclaim(pop_node()); } @@ -387,22 +372,6 @@ namespace boost { namespace unordered { namespace detail { template inline node_pointer move_copy_of(T& v) { - if (nodes_) { - node_tmp a(pop_node(), constructor_.alloc_); - a.node_->value() = boost::move(v); - return a.release(); - } - else { - constructor_.create_node(); - boost::unordered::detail::func::call_construct( - constructor_.alloc_, constructor_.node_->value_ptr(), - boost::move(v)); - return constructor_.release(); - } - } - - template - inline node_pointer move_copy_of(std::pair& v) { if (nodes_) { constructor_.reclaim(pop_node()); } diff --git a/include/boost/unordered/detail/equivalent.hpp b/include/boost/unordered/detail/equivalent.hpp index 5835884a..76825f20 100644 --- a/include/boost/unordered/detail/equivalent.hpp +++ b/include/boost/unordered/detail/equivalent.hpp @@ -110,9 +110,11 @@ namespace boost { namespace unordered { namespace detail { template struct pick_grouped_node { + typedef typename boost::remove_const::type nonconst; + typedef boost::unordered::detail::allocator_traits< typename boost::unordered::detail::rebind_wrap >::type + boost::unordered::detail::grouped_ptr_node >::type > tentative_node_traits; typedef boost::unordered::detail::allocator_traits< @@ -120,7 +122,7 @@ namespace boost { namespace unordered { namespace detail { boost::unordered::detail::ptr_bucket >::type > tentative_bucket_traits; - typedef pick_grouped_node2 pick; diff --git a/include/boost/unordered/detail/unique.hpp b/include/boost/unordered/detail/unique.hpp index db397980..eb26c232 100644 --- a/include/boost/unordered/detail/unique.hpp +++ b/include/boost/unordered/detail/unique.hpp @@ -106,9 +106,11 @@ namespace boost { namespace unordered { namespace detail { template struct pick_node { + typedef typename boost::remove_const::type nonconst; + typedef boost::unordered::detail::allocator_traits< typename boost::unordered::detail::rebind_wrap >::type + boost::unordered::detail::ptr_node >::type > tentative_node_traits; typedef boost::unordered::detail::allocator_traits< @@ -116,7 +118,7 @@ namespace boost { namespace unordered { namespace detail { boost::unordered::detail::ptr_bucket >::type > tentative_bucket_traits; - typedef pick_node2 pick; diff --git a/test/unordered/compile_map.cpp b/test/unordered/compile_map.cpp index ebd944ea..f42da0de 100644 --- a/test/unordered/compile_map.cpp +++ b/test/unordered/compile_map.cpp @@ -24,15 +24,15 @@ template class boost::unordered_map< std::equal_to, test::minimal::allocator > >; template class boost::unordered_multimap< - int, - int, + int const, + int const, boost::hash, std::equal_to, test::minimal::allocator > >; template class boost::unordered_map< - test::minimal::assignable, - test::minimal::default_assignable, + test::minimal::assignable const, + test::minimal::default_assignable const, test::minimal::hash, test::minimal::equal_to, test::minimal::allocator >; diff --git a/test/unordered/compile_set.cpp b/test/unordered/compile_set.cpp index 5c622902..a95ab007 100644 --- a/test/unordered/compile_set.cpp +++ b/test/unordered/compile_set.cpp @@ -23,13 +23,13 @@ template class boost::unordered_set< std::equal_to, test::minimal::allocator >; template class boost::unordered_multiset< - int, + int const, boost::hash, std::equal_to, test::minimal::allocator >; template class boost::unordered_set< - test::minimal::assignable, + test::minimal::assignable const, test::minimal::hash, test::minimal::equal_to, test::minimal::allocator >;