41#ifdef PB_DS_CLASS_C_DEC
46actual_erase_node(node_pointer p_z)
48 _GLIBCXX_DEBUG_ASSERT(m_size > 0);
50 _GLIBCXX_DEBUG_ONLY(debug_base::erase_existing(PB_DS_V2F(p_z->m_value)));
52 s_node_allocator.deallocate(p_z, 1);
58update_min_max_for_erased_node(node_pointer p_z)
62 m_p_head->m_p_left = m_p_head->m_p_right = m_p_head;
66 if (m_p_head->m_p_left == p_z)
70 m_p_head->m_p_left = it.m_p_nd;
72 else if (m_p_head->m_p_right == p_z)
76 m_p_head->m_p_right = it.m_p_nd;
85 _GLIBCXX_DEBUG_ONLY(assert_valid(
true,
true);)
86 clear_imp(m_p_head->m_p_parent);
89 _GLIBCXX_DEBUG_ONLY(debug_base::clear();)
90 _GLIBCXX_DEBUG_ONLY(assert_valid(
true,
true);)
96clear_imp(node_pointer p_nd)
100 clear_imp(p_nd->m_p_left);
101 clear_imp(p_nd->m_p_right);
103 s_node_allocator.deallocate(p_nd, 1);