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

View File

@@ -140,15 +140,18 @@ struct node
++count;
}
~node()
{
--count;
}
template<class Alloc>
void destructor(Alloc &)
{ this->~node(); }
static unsigned int count;
static void reset_count()
{ count = 0; }
~node()
{ --count; }
};
template<class T1, class T2>