void split(Pred pred, PB_DS_CLASS_C_DEC& other) { base_type tmp; other.clear(); while (!base_type::empty()) { if (!pred(base_type::top())) tmp.push(base_type::top()); else other.push(base_type::top()); base_type::pop(); } *static_cast<base_type*>(this) = tmp; }
PB_DS_CLASS_T_DEC PB_DS_CLASS_C_DEC:: left_child_next_sibling_heap_(const PB_DS_CLASS_C_DEC& other) : Cmp_Fn(other), m_p_root(NULL), m_size(0) { m_size = other.m_size; _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
void join(PB_DS_CLASS_C_DEC& other) { std::vector<value_type> a_tmp; while (!base_type::empty()) { a_tmp.push_back(base_type::top()); base_type::pop(); } while (!other.empty()) { a_tmp.push_back(other.top()); other.pop(); } *static_cast<base_type*>(this) = base_type(a_tmp.begin(), a_tmp.end()); }
PB_DS_CLASS_T_DEC PB_DS_CLASS_C_DEC:: binary_heap_(const PB_DS_CLASS_C_DEC& other) : entry_cmp(other), resize_policy(other), m_size(0), m_actual_size(other.m_actual_size), m_a_entries(s_entry_allocator.allocate(m_actual_size)) { _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
PB_DS_CLASS_T_DEC PB_DS_CLASS_C_DEC:: PB_DS_OV_TREE_CLASS_NAME(const PB_DS_CLASS_C_DEC& other) : #ifdef _GLIBCXX_DEBUG map_debug_base(other), #endif #ifdef PB_DS_TREE_TRACE PB_DS_TREE_TRACE_BASE_C_DEC(other), #endif cmp_fn_base(other), node_update(other), m_a_values(NULL), m_a_metadata(NULL), m_end_it(NULL), m_size(0) { copy_from_ordered_range(other.begin(), other.end()); _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();) }
PB_DS_CLASS_T_DEC PB_DS_CLASS_C_DEC:: PB_DS_LU_NAME(const PB_DS_CLASS_C_DEC& other) : m_p_l(0) { __try { for (const_iterator it = other.begin(); it != other.end(); ++it) { entry_pointer p_l = allocate_new_entry(*it, traits_base::m_no_throw_copies_indicator); p_l->m_p_next = m_p_l; m_p_l = p_l; } } __catch(...) { deallocate_all(); __throw_exception_again; }
PB_DS_CLASS_T_DEC PB_DS_CLASS_C_DEC:: PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC& other) : #ifdef _GLIBCXX_DEBUG map_debug_base(other), #endif synth_e_access_traits(other), node_update(other), m_p_head(s_head_allocator.allocate(1)), m_size(0) { initialize(); m_size = other.m_size; _GLIBCXX_DEBUG_ONLY(other.assert_valid();) if (other.m_p_head->m_p_parent == NULL)