Fixed #9949 (clear header node hooks upon intrusive container destruction)

This commit is contained in:
Ion Gaztañaga
2014-04-25 18:18:37 +02:00
parent c928fde885
commit 62367b52e1
4 changed files with 1 additions and 3 deletions

View File

@@ -3799,6 +3799,7 @@ to be inserted in intrusive containers are allocated using `std::vector` or `std
* [@https://svn.boost.org/trac/boost/ticket/9332 #9332: ['"has_member_function_callable_with.hpp compile error on msvc-12.0"]]. * [@https://svn.boost.org/trac/boost/ticket/9332 #9332: ['"has_member_function_callable_with.hpp compile error on msvc-12.0"]].
* [@https://svn.boost.org/trac/boost/ticket/9746 #9746: Modern Sun CC compiler detects error in intrusive library header] * [@https://svn.boost.org/trac/boost/ticket/9746 #9746: Modern Sun CC compiler detects error in intrusive library header]
* [@https://svn.boost.org/trac/boost/ticket/9940 #9940: bad bug in intrusive list with safe_link (or auto_unlink) hooks] * [@https://svn.boost.org/trac/boost/ticket/9940 #9940: bad bug in intrusive list with safe_link (or auto_unlink) hooks]
* [@https://svn.boost.org/trac/boost/ticket/9949 #9949: clear header node hooks upon intrusive container destruction]
* Optimized tree rebalancing code to avoid redundant assignments. * Optimized tree rebalancing code to avoid redundant assignments.

View File

@@ -526,7 +526,6 @@ struct bstbase
( this->header_ptr() ( this->header_ptr()
, detail::node_disposer<detail::null_disposer, value_traits, AlgoType> , detail::node_disposer<detail::null_disposer, value_traits, AlgoType>
(detail::null_disposer(), &this->get_value_traits())); (detail::null_disposer(), &this->get_value_traits()));
node_algorithms::init(this->header_ptr());
} }
} }
}; };

View File

@@ -205,7 +205,6 @@ class list_impl
{ {
if(is_safe_autounlink<ValueTraits::link_mode>::value){ if(is_safe_autounlink<ValueTraits::link_mode>::value){
this->clear(); this->clear();
node_algorithms::init(this->get_root_node());
} }
} }

View File

@@ -339,7 +339,6 @@ class slist_impl
{ {
if(is_safe_autounlink<ValueTraits::link_mode>::value){ if(is_safe_autounlink<ValueTraits::link_mode>::value){
this->clear(); this->clear();
node_algorithms::init(this->get_root_node());
} }
} }