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

Lines Matching refs:p_nd

50 splay(node_pointer p_nd)
52 while (p_nd->m_p_parent != base_type::m_p_head)
61 _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd);)
63 if (p_nd->m_p_parent->m_p_parent == base_type::m_p_head)
65 base_type::rotate_parent(p_nd);
66 _GLIBCXX_DEBUG_ASSERT(p_nd == this->m_p_head->m_p_parent);
70 const node_pointer p_parent = p_nd->m_p_parent;
79 if (p_parent->m_p_left == p_nd &&
81 splay_zig_zag_left(p_nd, p_parent, p_grandparent);
82 else if (p_parent->m_p_right == p_nd &&
84 splay_zig_zag_right(p_nd, p_parent, p_grandparent);
85 else if (p_parent->m_p_left == p_nd &&
87 splay_zig_zig_left(p_nd, p_parent, p_grandparent);
89 splay_zig_zig_right(p_nd, p_parent, p_grandparent);
90 _GLIBCXX_DEBUG_ASSERT(total ==this->recursive_count(p_nd));
93 _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd);)
100 splay_zig_zag_left(node_pointer p_nd, node_pointer p_parent,
103 _GLIBCXX_DEBUG_ASSERT(p_parent == p_nd->m_p_parent);
108 _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_left == p_nd &&
111 splay_zz_start(p_nd, p_parent, p_grandparent);
113 node_pointer p_b = p_nd->m_p_right;
114 node_pointer p_c = p_nd->m_p_left;
116 p_nd->m_p_right = p_parent;
117 p_parent->m_p_parent = p_nd;
119 p_nd->m_p_left = p_grandparent;
120 p_grandparent->m_p_parent = p_nd;
130 splay_zz_end(p_nd, p_parent, p_grandparent);
136 splay_zig_zag_right(node_pointer p_nd, node_pointer p_parent,
139 _GLIBCXX_DEBUG_ASSERT(p_parent == p_nd->m_p_parent);
144 _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_right == p_nd &&
147 splay_zz_start(p_nd, p_parent, p_grandparent);
149 node_pointer p_b = p_nd->m_p_left;
150 node_pointer p_c = p_nd->m_p_right;
152 p_nd->m_p_left = p_parent;
153 p_parent->m_p_parent = p_nd;
155 p_nd->m_p_right = p_grandparent;
156 p_grandparent->m_p_parent = p_nd;
166 splay_zz_end(p_nd, p_parent, p_grandparent);
172 splay_zig_zig_left(node_pointer p_nd, node_pointer p_parent,
175 _GLIBCXX_DEBUG_ASSERT(p_parent == p_nd->m_p_parent);
180 _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_left == p_nd &&
181 p_nd->m_p_parent->m_p_parent->m_p_left == p_nd->m_p_parent);
183 splay_zz_start(p_nd, p_parent, p_grandparent);
185 node_pointer p_b = p_nd->m_p_right;
188 p_nd->m_p_right = p_parent;
189 p_parent->m_p_parent = p_nd;
202 splay_zz_end(p_nd, p_parent, p_grandparent);
208 splay_zig_zig_right(node_pointer p_nd, node_pointer p_parent,
211 _GLIBCXX_DEBUG_ASSERT(p_parent == p_nd->m_p_parent);
214 _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_right == p_nd &&
215 p_nd->m_p_parent->m_p_parent->m_p_right == p_nd->m_p_parent);
217 splay_zz_start(p_nd, p_parent, p_grandparent);
219 node_pointer p_b = p_nd->m_p_left;
222 p_nd->m_p_left = p_parent;
223 p_parent->m_p_parent = p_nd;
237 splay_zz_end(p_nd, p_parent, p_grandparent);
243 splay_zz_start(node_pointer p_nd,
251 _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
260 p_nd->m_p_parent = base_type::m_p_head;
266 p_nd->m_p_parent = p_greatgrandparent;
269 p_greatgrandparent->m_p_left = p_nd;
271 p_greatgrandparent->m_p_right = p_nd;
277 splay_zz_end(node_pointer p_nd, node_pointer p_parent,
280 if (p_nd->m_p_parent == base_type::m_p_head)
281 base_type::m_p_head->m_p_parent = p_nd;
285 apply_update(p_nd, (node_update* )this);
287 _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd);)