diff --git a/include/boost/unordered/detail/implementation.hpp b/include/boost/unordered/detail/implementation.hpp index 7173e8cc..ed547a31 100644 --- a/include/boost/unordered/detail/implementation.hpp +++ b/include/boost/unordered/detail/implementation.hpp @@ -3025,7 +3025,7 @@ struct table : boost::unordered::detail::functionsnext_ != end); @@ -3043,7 +3043,7 @@ struct table : boost::unordered::detail::functionsfind_previous_node(k, bucket_index); if (!prev) return 0; - link_pointer end = next_node(prev)->next_; + node_pointer end = next_node(next_node(prev)); this->delete_nodes(prev, end); this->fix_bucket(bucket_index, prev); return 1; @@ -4074,7 +4074,7 @@ struct table : boost::unordered::detail::functionsdelete_nodes(prev, end); this->fix_bucket(bucket_index, prev); @@ -4261,7 +4261,7 @@ inline void table::rehash_impl(std::size_t num_buckets) } } } - BOOST_CATCH(...) { delete_nodes(prev, link_pointer()); } + BOOST_CATCH(...) { delete_nodes(prev, node_pointer()); } BOOST_CATCH_END } diff --git a/include/boost/unordered/unordered_map.hpp b/include/boost/unordered/unordered_map.hpp index 4a90d667..134d31a8 100644 --- a/include/boost/unordered/unordered_map.hpp +++ b/include/boost/unordered/unordered_map.hpp @@ -1616,7 +1616,7 @@ void unordered_map::clear() BOOST_NOEXCEPT { if (table_.size_) { table_.clear_buckets(); - table_.delete_nodes(table_.get_previous_start(), link_pointer()); + table_.delete_nodes(table_.get_previous_start(), node_pointer()); } } @@ -2101,7 +2101,7 @@ void unordered_multimap::clear() BOOST_NOEXCEPT { if (table_.size_) { table_.clear_buckets(); - table_.delete_nodes(table_.get_previous_start(), link_pointer()); + table_.delete_nodes(table_.get_previous_start(), node_pointer()); } } diff --git a/include/boost/unordered/unordered_set.hpp b/include/boost/unordered/unordered_set.hpp index 4d6dd544..58ea6417 100644 --- a/include/boost/unordered/unordered_set.hpp +++ b/include/boost/unordered/unordered_set.hpp @@ -1280,7 +1280,7 @@ void unordered_set::clear() BOOST_NOEXCEPT { if (table_.size_) { table_.clear_buckets(); - table_.delete_nodes(table_.get_previous_start(), link_pointer()); + table_.delete_nodes(table_.get_previous_start(), node_pointer()); } } @@ -1684,7 +1684,7 @@ void unordered_multiset::clear() BOOST_NOEXCEPT { if (table_.size_) { table_.clear_buckets(); - table_.delete_nodes(table_.get_previous_start(), link_pointer()); + table_.delete_nodes(table_.get_previous_start(), node_pointer()); } }