53 reallocate_metadata((node_update* )
this, 0);
54 cond_dtor<size_type> cd(m_a_values, m_end_it, m_size);
60 m_end_it = m_a_values;
65 template<
typename Pred>
66 inline typename PB_DS_CLASS_C_DEC::size_type
72 #ifdef PB_DS_REGRESSION
73 typename _Alloc::group_adjustor adjust(m_size);
76 size_type new_size = 0;
77 size_type num_val_ersd = 0;
79 for (iterator source_it = begin(); source_it != m_end_it; ++source_it)
80 if (!pred(*source_it))
91 value_vector a_new_values = s_value_alloc.allocate(new_size);
92 iterator target_it = a_new_values;
93 cond_dtor<size_type> cd(a_new_values, target_it, new_size);
95 for (iterator source_it = begin(); source_it != m_end_it; ++source_it)
97 if (!pred(*source_it))
99 new (
const_cast<void*
>(
static_cast<const void*
>(target_it)))
100 value_type(*source_it);
107 reallocate_metadata((node_update*)
this, new_size);
111 cond_dtor<size_type> cd1(m_a_values, m_end_it, m_size);
114 m_a_values = a_new_values;
116 m_end_it = target_it;
117 update(node_begin(), (node_update*)
this);
123 template<typename It>
134 #ifdef PB_DS_REGRESSION
135 typename _Alloc::group_adjustor adjust(m_size);
139 value_vector a_values = s_value_alloc.allocate(m_size - 1);
140 iterator source_it = begin();
141 iterator source_end_it = end();
142 iterator target_it = a_values;
143 iterator ret_it = end();
145 cond_dtor<size_type> cd(a_values, target_it, m_size - 1);
149 while (source_it != source_end_it)
155 new (
const_cast<void*
>(
static_cast<const void*
>(target_it)))
156 value_type(*source_it);
166 reallocate_metadata((node_update*)
this, m_size - 1);
170 cond_dtor<size_type> cd1(m_a_values, m_end_it, m_size);
173 m_a_values = a_values;
175 m_end_it = m_a_values + m_size;
176 update(node_begin(), (node_update*)
this);
184 erase(key_const_reference r_key)
186 point_iterator it = find(r_key);
#define _GLIBCXX_DEBUG_ASSERT(_Condition)
Definition: debug.h:61
#define _GLIBCXX_DEBUG_ONLY(_Statement)
Definition: debug.h:63
#define PB_DS_CLASS_C_DEC
Definition: bin_search_tree_.hpp:71
#define PB_DS_CLASS_T_DEC
Definition: bin_search_tree_.hpp:67
return(unsigned int) __res
#define PB_DS_CHECK_KEY_EXISTS(_Key)
Definition: container_base_dispatch.hpp:55
#define PB_DS_ASSERT_VALID(X)
Definition: binary_heap_.hpp:324
#define PB_DS_V2F(X)
Definition: container_base_dispatch.hpp:80