Home | History | Annotate | Download | only in binomial_heap_base_

Lines Matching defs:p_nd

48     node_pointer p_nd = base_type::get_new_node_for_insert(r_val);
50 insert_node(p_nd);
56 return point_iterator(p_nd);
62 insert_node(node_pointer p_nd)
66 p_nd->m_p_next_sibling = p_nd->m_p_prev_or_parent =
67 p_nd->m_p_l_child = NULL;
69 p_nd->m_metadata = 0;
71 base_type::m_p_root = p_nd;
78 p_nd->m_p_prev_or_parent = p_nd->m_p_l_child = NULL;
80 p_nd->m_p_next_sibling = base_type::m_p_root;
82 base_type::m_p_root->m_p_prev_or_parent = p_nd;
84 base_type::m_p_root = p_nd;
86 p_nd->m_metadata = 0;
91 if (Cmp_Fn::operator()(base_type::m_p_root->m_value, p_nd->m_value))
93 p_nd->m_p_next_sibling = base_type::m_p_root->m_p_next_sibling;
95 p_nd->m_p_prev_or_parent = NULL;
97 p_nd->m_metadata = 1;
99 p_nd->m_p_l_child = base_type::m_p_root;
101 base_type::m_p_root->m_p_prev_or_parent = p_nd;
105 base_type::m_p_root = p_nd;
109 p_nd->m_p_next_sibling = NULL;
111 p_nd->m_p_l_child = NULL;
113 p_nd->m_p_prev_or_parent = base_type::m_p_root;
115 p_nd->m_metadata = 0;
118 base_type::m_p_root->m_p_l_child = p_nd;
129 fix(node_pointer p_nd) const
131 while (p_nd->m_p_next_sibling != NULL&&
132 p_nd->m_metadata == p_nd->m_p_next_sibling->m_metadata)
134 node_pointer p_next = p_nd->m_p_next_sibling;
136 if (Cmp_Fn::operator()(p_nd->m_value, p_next->m_value))
139 p_nd->m_p_prev_or_parent;
141 if (p_nd->m_p_prev_or_parent != NULL)
142 p_nd->m_p_prev_or_parent->m_p_next_sibling = p_next;
144 base_type::make_child_of(p_nd, p_next);
148 p_nd = p_next;
152 p_nd->m_p_next_sibling = p_next->m_p_next_sibling;
154 if (p_nd->m_p_next_sibling != NULL)
157 base_type::make_child_of(p_next, p_nd);
159 ++p_nd->m_metadata;
163 if (p_nd->m_p_next_sibling != NULL)
164 p_nd->m_p_next_sibling->m_p_prev_or_parent = p_nd;
166 return p_nd;
175 node_pointer p_nd = it.m_p_nd;
177 _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
178 _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd, false);)
180 const bool bubble_up = Cmp_Fn::operator()(p_nd->m_value, r_new_val);
182 p_nd->m_value = r_new_val;
186 node_pointer p_parent = base_type::parent(p_nd);
189 Cmp_Fn::operator()(p_parent->m_value, p_nd->m_value))
191 base_type::swap_with_parent(p_nd, p_parent);
193 p_parent = base_type::parent(p_nd);
196 if (p_nd->m_p_prev_or_parent == NULL)
197 base_type::m_p_root = p_nd;
206 base_type::bubble_to_top(p_nd);
208 remove_parentless_node(p_nd);
210 insert_node(p_nd);