diff --git a/include/boost/unordered/detail/equivalent.hpp b/include/boost/unordered/detail/equivalent.hpp index da1f6044..f908e5bc 100644 --- a/include/boost/unordered/detail/equivalent.hpp +++ b/include/boost/unordered/detail/equivalent.hpp @@ -125,16 +125,15 @@ namespace boost { namespace unordered { namespace detail { { typedef boost::unordered::detail::multiset types; + typedef A allocator; typedef T value_type; typedef H hasher; typedef P key_equal; typedef T key_type; - typedef typename boost::unordered::detail::rebind_wrap< - A, value_type>::type allocator; - typedef boost::unordered::detail::allocator_traits traits; - typedef boost::unordered::detail::pick_grouped_node pick; + typedef boost::unordered::detail::pick_grouped_node pick; typedef typename pick::node node; typedef typename pick::bucket bucket; typedef typename pick::link_pointer link_pointer; @@ -150,16 +149,15 @@ namespace boost { namespace unordered { namespace detail { { typedef boost::unordered::detail::multimap types; + typedef A allocator; typedef std::pair value_type; typedef H hasher; typedef P key_equal; typedef K key_type; - typedef typename boost::unordered::detail::rebind_wrap< - A, value_type>::type allocator; - typedef boost::unordered::detail::allocator_traits traits; - typedef boost::unordered::detail::pick_grouped_node pick; + typedef boost::unordered::detail::pick_grouped_node pick; typedef typename pick::node node; typedef typename pick::bucket bucket; typedef typename pick::link_pointer link_pointer; diff --git a/include/boost/unordered/detail/table.hpp b/include/boost/unordered/detail/table.hpp index a11515ac..116e5f95 100644 --- a/include/boost/unordered/detail/table.hpp +++ b/include/boost/unordered/detail/table.hpp @@ -144,12 +144,11 @@ namespace boost { namespace unordered { namespace detail { typename Types::hasher, typename Types::key_equal> functions; - // TODO: Better to use the original allocator here. - typedef typename Types::allocator value_allocator; + typedef typename Types::allocator allocator; typedef typename boost::unordered::detail:: - rebind_wrap::type node_allocator; + rebind_wrap::type node_allocator; typedef typename boost::unordered::detail:: - rebind_wrap::type bucket_allocator; + rebind_wrap::type bucket_allocator; typedef boost::unordered::detail::allocator_traits node_allocator_traits; typedef boost::unordered::detail::allocator_traits diff --git a/include/boost/unordered/detail/unique.hpp b/include/boost/unordered/detail/unique.hpp index 977cfd63..4a54cc80 100644 --- a/include/boost/unordered/detail/unique.hpp +++ b/include/boost/unordered/detail/unique.hpp @@ -121,14 +121,12 @@ namespace boost { namespace unordered { namespace detail { { typedef boost::unordered::detail::set types; + typedef A allocator; typedef T value_type; typedef H hasher; typedef P key_equal; typedef T key_type; - typedef typename boost::unordered::detail::rebind_wrap< - A, value_type>::type allocator; - typedef boost::unordered::detail::allocator_traits traits; typedef boost::unordered::detail::pick_node pick; typedef typename pick::node node; @@ -146,15 +144,14 @@ namespace boost { namespace unordered { namespace detail { { typedef boost::unordered::detail::map types; + typedef A allocator; typedef std::pair value_type; typedef H hasher; typedef P key_equal; typedef K key_type; - typedef typename boost::unordered::detail::rebind_wrap< - A, value_type>::type allocator; - - typedef boost::unordered::detail::allocator_traits traits; + typedef boost::unordered::detail::allocator_traits + traits; typedef boost::unordered::detail::pick_node pick; typedef typename pick::node node; typedef typename pick::bucket bucket; diff --git a/include/boost/unordered/unordered_map.hpp b/include/boost/unordered/unordered_map.hpp index ce52e5be..66b2ab63 100644 --- a/include/boost/unordered/unordered_map.hpp +++ b/include/boost/unordered/unordered_map.hpp @@ -56,7 +56,6 @@ namespace unordered private: typedef boost::unordered::detail::map types; - typedef typename types::allocator value_allocator; typedef typename types::traits allocator_traits; typedef typename types::table table; @@ -542,7 +541,6 @@ namespace unordered private: typedef boost::unordered::detail::multimap types; - typedef typename types::allocator value_allocator; typedef typename types::traits allocator_traits; typedef typename types::table table; diff --git a/include/boost/unordered/unordered_set.hpp b/include/boost/unordered/unordered_set.hpp index 5d9a0b8e..f1e97caf 100644 --- a/include/boost/unordered/unordered_set.hpp +++ b/include/boost/unordered/unordered_set.hpp @@ -54,7 +54,6 @@ namespace unordered private: typedef boost::unordered::detail::set types; - typedef typename types::allocator value_allocator; typedef typename types::traits allocator_traits; typedef typename types::table table; @@ -526,7 +525,6 @@ namespace unordered private: typedef boost::unordered::detail::multiset types; - typedef typename types::allocator value_allocator; typedef typename types::traits allocator_traits; typedef typename types::table table;