45 copy_from_range(It first_it, It last_it)
47 while (first_it != last_it)
49 PB_DS_ASSERT_VALID((*
this))
54 thin_heap() : m_p_max(0)
57 PB_DS_ASSERT_VALID((*
this))
62 thin_heap(
const Cmp_Fn& r_cmp_fn)
63 : base_type(r_cmp_fn), m_p_max(0)
66 PB_DS_ASSERT_VALID((*
this))
71 thin_heap(
const PB_DS_CLASS_C_DEC& other)
75 m_p_max = base_type::m_p_root;
76 for (node_pointer p_nd = base_type::m_p_root; p_nd != 0;
77 p_nd = p_nd->m_p_next_sibling)
78 if (Cmp_Fn::operator()(m_p_max->m_value, p_nd->m_value))
81 PB_DS_ASSERT_VALID((*
this))
87 swap(PB_DS_CLASS_C_DEC& other)
89 PB_DS_ASSERT_VALID((*
this))
90 base_type::
swap(other);
91 std::
swap(m_p_max, other.m_p_max);
92 PB_DS_ASSERT_VALID((*this))
104 { std::fill(m_a_aux, m_a_aux + max_rank, static_cast<node_pointer>(0)); }
ISO C++ entities toplevel namespace is std.
void swap(_Tp &, _Tp &) noexcept(__and_< is_nothrow_move_constructible< _Tp >, is_nothrow_move_assignable< _Tp >>::value)
Swaps two values.