diff --git a/include/boost/unordered/detail/allocator_helpers.hpp b/include/boost/unordered/detail/allocator_helpers.hpp index 302d3715..e3243cc1 100644 --- a/include/boost/unordered/detail/allocator_helpers.hpp +++ b/include/boost/unordered/detail/allocator_helpers.hpp @@ -356,13 +356,13 @@ namespace boost { namespace unordered { namespace detail { typename pointer_to_other::type) const_pointer; - typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, void_pointer, - typename pointer_to_other::type) - void_pointer; - - typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, const_void_pointer, - typename pointer_to_other::type) - const_void_pointer; + //typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, void_pointer, + // typename pointer_to_other::type) + // void_pointer; + // + //typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, const_void_pointer, + // typename pointer_to_other::type) + // const_void_pointer; typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, difference_type, std::ptrdiff_t) difference_type; diff --git a/include/boost/unordered/detail/buckets.hpp b/include/boost/unordered/detail/buckets.hpp index 30ad3bec..7492220b 100644 --- a/include/boost/unordered/detail/buckets.hpp +++ b/include/boost/unordered/detail/buckets.hpp @@ -192,7 +192,6 @@ namespace boost { namespace unordered { namespace detail { public: typedef boost::unordered::detail::allocator_traits traits; typedef typename traits::value_type value_type; - typedef typename traits::void_pointer void_pointer; typedef Node node; typedef Bucket bucket; diff --git a/include/boost/unordered/detail/equivalent.hpp b/include/boost/unordered/detail/equivalent.hpp index 85a4780b..115f2c38 100644 --- a/include/boost/unordered/detail/equivalent.hpp +++ b/include/boost/unordered/detail/equivalent.hpp @@ -17,15 +17,16 @@ namespace boost { namespace unordered { namespace detail { - template struct grouped_node; + template struct grouped_node; template struct grouped_ptr_node; template struct grouped_table_impl; - template + template struct grouped_node : boost::unordered::detail::value_base { - typedef VoidPointer link_pointer; + typedef typename ::boost::unordered::detail::rebind_wrap< + A, grouped_node >::type::pointer link_pointer; link_pointer next_; link_pointer group_prev_; @@ -69,22 +70,21 @@ namespace boost { namespace unordered { namespace detail { // If the allocator uses raw pointers use grouped_ptr_node // Otherwise use grouped_node. - template + template struct pick_grouped_node2 { - typedef boost::unordered::detail::grouped_node node; + typedef boost::unordered::detail::grouped_node node; typedef typename boost::unordered::detail::allocator_traits< typename boost::unordered::detail::rebind_wrap::type >::pointer node_pointer; typedef boost::unordered::detail::bucket bucket; - typedef VoidPointer link_pointer; + typedef node_pointer link_pointer; }; template - struct pick_grouped_node2*, boost::unordered::detail::ptr_bucket*> { @@ -107,7 +107,6 @@ namespace boost { namespace unordered { namespace detail { > tentative_bucket_traits; typedef pick_grouped_node2 pick; @@ -127,7 +126,6 @@ namespace boost { namespace unordered { namespace detail { typedef boost::unordered::detail::allocator_traits traits; typedef typename traits::value_type value_type; - typedef typename traits::void_pointer void_pointer; typedef value_type key_type; typedef boost::unordered::detail::pick_grouped_node pick; @@ -151,7 +149,6 @@ namespace boost { namespace unordered { namespace detail { typedef boost::unordered::detail::allocator_traits traits; typedef typename traits::value_type value_type; - typedef typename traits::void_pointer void_pointer; typedef boost::unordered::detail::pick_grouped_node pick; typedef typename pick::node node; diff --git a/include/boost/unordered/detail/unique.hpp b/include/boost/unordered/detail/unique.hpp index b1e4d2c1..1cd98a5f 100644 --- a/include/boost/unordered/detail/unique.hpp +++ b/include/boost/unordered/detail/unique.hpp @@ -19,15 +19,16 @@ namespace boost { namespace unordered { namespace detail { - template struct node; + template struct node; template struct ptr_node; template struct table_impl; - template + template struct node : boost::unordered::detail::value_base { - typedef VoidPointer link_pointer; + typedef typename ::boost::unordered::detail::rebind_wrap< + A, node >::type::pointer link_pointer; link_pointer next_; std::size_t hash_; @@ -65,22 +66,21 @@ namespace boost { namespace unordered { namespace detail { // If the allocator uses raw pointers use ptr_node // Otherwise use node. - template + template struct pick_node2 { - typedef boost::unordered::detail::node node; + typedef boost::unordered::detail::node node; typedef typename boost::unordered::detail::allocator_traits< typename boost::unordered::detail::rebind_wrap::type >::pointer node_pointer; typedef boost::unordered::detail::bucket bucket; - typedef VoidPointer link_pointer; + typedef node_pointer link_pointer; }; template - struct pick_node2*, boost::unordered::detail::ptr_bucket*> { @@ -103,7 +103,6 @@ namespace boost { namespace unordered { namespace detail { > tentative_bucket_traits; typedef pick_node2 pick; @@ -123,7 +122,6 @@ namespace boost { namespace unordered { namespace detail { typedef boost::unordered::detail::allocator_traits traits; typedef typename traits::value_type value_type; - typedef typename traits::void_pointer void_pointer; typedef value_type key_type; typedef boost::unordered::detail::pick_node pick; @@ -147,7 +145,6 @@ namespace boost { namespace unordered { namespace detail { typedef boost::unordered::detail::allocator_traits traits; typedef typename traits::value_type value_type; - typedef typename traits::void_pointer void_pointer; typedef boost::unordered::detail::pick_node pick; typedef typename pick::node node;