Refactor node implemenations from 3 (slist_node, list_node and tree_node) to a single base_node:

- To avoid unneeded includes, is_pair is factored out from pair.hpp implementation
- Fixed bug where value_types inside nodes were not allocator-ware destructed.
- Changed scoped utilities to handle new clases
This commit is contained in:
Ion Gaztañaga
2022-01-04 00:41:34 +01:00
parent 30a4508371
commit 15d61d6d26
13 changed files with 358 additions and 388 deletions
+1 -1
View File
@@ -123,7 +123,7 @@ class node_handle
void destroy_deallocate_node()
{
nator_traits::destroy(this->node_alloc(), boost::movelib::to_raw_pointer(m_ptr));
boost::movelib::to_raw_pointer(m_ptr)->destructor(this->node_alloc());
nator_traits::deallocate(this->node_alloc(), m_ptr, 1u);
}