• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/

Lines Matching refs:p_nd

54     node_pointer p_nd = base_type::get_new_node_for_insert(r_val);
56 insert_node(p_nd);
62 return point_iterator(p_nd);
68 insert_node(node_pointer p_nd)
72 p_nd->m_p_next_sibling = p_nd->m_p_prev_or_parent =
73 p_nd->m_p_l_child = NULL;
75 p_nd->m_metadata = 0;
77 base_type::m_p_root = p_nd;
84 p_nd->m_p_prev_or_parent = p_nd->m_p_l_child = NULL;
86 p_nd->m_p_next_sibling = base_type::m_p_root;
88 base_type::m_p_root->m_p_prev_or_parent = p_nd;
90 base_type::m_p_root = p_nd;
92 p_nd->m_metadata = 0;
97 if (Cmp_Fn::operator()(base_type::m_p_root->m_value, p_nd->m_value))
99 p_nd->m_p_next_sibling = base_type::m_p_root->m_p_next_sibling;
101 p_nd->m_p_prev_or_parent = NULL;
103 p_nd->m_metadata = 1;
105 p_nd->m_p_l_child = base_type::m_p_root;
107 base_type::m_p_root->m_p_prev_or_parent = p_nd;
111 base_type::m_p_root = p_nd;
115 p_nd->m_p_next_sibling = NULL;
117 p_nd->m_p_l_child = NULL;
119 p_nd->m_p_prev_or_parent = base_type::m_p_root;
121 p_nd->m_metadata = 0;
124 base_type::m_p_root->m_p_l_child = p_nd;
135 fix(node_pointer p_nd) const
137 while (p_nd->m_p_next_sibling != NULL&&
138 p_nd->m_metadata == p_nd->m_p_next_sibling->m_metadata)
140 node_pointer p_next = p_nd->m_p_next_sibling;
142 if (Cmp_Fn::operator()(p_nd->m_value, p_next->m_value))
145 p_nd->m_p_prev_or_parent;
147 if (p_nd->m_p_prev_or_parent != NULL)
148 p_nd->m_p_prev_or_parent->m_p_next_sibling = p_next;
150 base_type::make_child_of(p_nd, p_next);
154 p_nd = p_next;
158 p_nd->m_p_next_sibling = p_next->m_p_next_sibling;
160 if (p_nd->m_p_next_sibling != NULL)
163 base_type::make_child_of(p_next, p_nd);
165 ++p_nd->m_metadata;
169 if (p_nd->m_p_next_sibling != NULL)
170 p_nd->m_p_next_sibling->m_p_prev_or_parent = p_nd;
172 return p_nd;
181 node_pointer p_nd = it.m_p_nd;
183 _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
184 _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd, false);)
186 const bool bubble_up = Cmp_Fn::operator()(p_nd->m_value, r_new_val);
188 p_nd->m_value = r_new_val;
192 node_pointer p_parent = base_type::parent(p_nd);
195 Cmp_Fn::operator()(p_parent->m_value, p_nd->m_value))
197 base_type::swap_with_parent(p_nd, p_parent);
199 p_parent = base_type::parent(p_nd);
202 if (p_nd->m_p_prev_or_parent == NULL)
203 base_type::m_p_root = p_nd;
212 base_type::bubble_to_top(p_nd);
214 remove_parentless_node(p_nd);
216 insert_node(p_nd);