44 actual_erase_node(node_pointer p_z)
46 _GLIBCXX_DEBUG_ASSERT(m_size > 0);
48 _GLIBCXX_DEBUG_ONLY(debug_base::erase_existing(PB_DS_V2F(p_z->m_value));)
50 s_node_allocator.deallocate(p_z, 1);
56 update_min_max_for_erased_node(node_pointer p_z)
60 m_p_head->m_p_left = m_p_head->m_p_right = m_p_head;
64 if (m_p_head->m_p_left == p_z)
68 m_p_head->m_p_left = it.m_p_nd;
70 else if (m_p_head->m_p_right == p_z)
74 m_p_head->m_p_right = it.m_p_nd;
83 PB_DS_STRUCT_ONLY_ASSERT_VALID((*
this))
84 clear_imp(m_p_head->m_p_parent);
87 _GLIBCXX_DEBUG_ONLY(debug_base::clear();)
88 PB_DS_STRUCT_ONLY_ASSERT_VALID((*this))
94 clear_imp(node_pointer p_nd)
99 clear_imp(p_nd->m_p_left);
100 clear_imp(p_nd->m_p_right);
102 s_node_allocator.deallocate(p_nd, 1);