Home | History | Annotate | Download | only in splay_tree_

Lines Matching refs:p_nd

44 splay(node_pointer p_nd)
46 while (p_nd->m_p_parent != base_type::m_p_head)
55 _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd);)
57 if (p_nd->m_p_parent->m_p_parent == base_type::m_p_head)
59 base_type::rotate_parent(p_nd);
60 _GLIBCXX_DEBUG_ASSERT(p_nd == this->m_p_head->m_p_parent);
64 const node_pointer p_parent = p_nd->m_p_parent;
73 if (p_parent->m_p_left == p_nd &&
75 splay_zig_zag_left(p_nd, p_parent, p_grandparent);
76 else if (p_parent->m_p_right == p_nd &&
78 splay_zig_zag_right(p_nd, p_parent, p_grandparent);
79 else if (p_parent->m_p_left == p_nd &&
81 splay_zig_zig_left(p_nd, p_parent, p_grandparent);
83 splay_zig_zig_right(p_nd, p_parent, p_grandparent);
84 _GLIBCXX_DEBUG_ASSERT(total ==this->recursive_count(p_nd));
87 _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd);)
94 splay_zig_zag_left(node_pointer p_nd, node_pointer p_parent,
97 _GLIBCXX_DEBUG_ASSERT(p_parent == p_nd->m_p_parent);
102 _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_left == p_nd &&
105 splay_zz_start(p_nd, p_parent, p_grandparent);
107 node_pointer p_b = p_nd->m_p_right;
108 node_pointer p_c = p_nd->m_p_left;
110 p_nd->m_p_right = p_parent;
111 p_parent->m_p_parent = p_nd;
113 p_nd->m_p_left = p_grandparent;
114 p_grandparent->m_p_parent = p_nd;
124 splay_zz_end(p_nd, p_parent, p_grandparent);
130 splay_zig_zag_right(node_pointer p_nd, node_pointer p_parent,
133 _GLIBCXX_DEBUG_ASSERT(p_parent == p_nd->m_p_parent);
138 _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_right == p_nd &&
141 splay_zz_start(p_nd, p_parent, p_grandparent);
143 node_pointer p_b = p_nd->m_p_left;
144 node_pointer p_c = p_nd->m_p_right;
146 p_nd->m_p_left = p_parent;
147 p_parent->m_p_parent = p_nd;
149 p_nd->m_p_right = p_grandparent;
150 p_grandparent->m_p_parent = p_nd;
160 splay_zz_end(p_nd, p_parent, p_grandparent);
166 splay_zig_zig_left(node_pointer p_nd, node_pointer p_parent,
169 _GLIBCXX_DEBUG_ASSERT(p_parent == p_nd->m_p_parent);
174 _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_left == p_nd &&
175 p_nd->m_p_parent->m_p_parent->m_p_left == p_nd->m_p_parent);
177 splay_zz_start(p_nd, p_parent, p_grandparent);
179 node_pointer p_b = p_nd->m_p_right;
182 p_nd->m_p_right = p_parent;
183 p_parent->m_p_parent = p_nd;
196 splay_zz_end(p_nd, p_parent, p_grandparent);
202 splay_zig_zig_right(node_pointer p_nd, node_pointer p_parent,
205 _GLIBCXX_DEBUG_ASSERT(p_parent == p_nd->m_p_parent);
208 _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_right == p_nd &&
209 p_nd->m_p_parent->m_p_parent->m_p_right == p_nd->m_p_parent);
211 splay_zz_start(p_nd, p_parent, p_grandparent);
213 node_pointer p_b = p_nd->m_p_left;
216 p_nd->m_p_left = p_parent;
217 p_parent->m_p_parent = p_nd;
231 splay_zz_end(p_nd, p_parent, p_grandparent);
237 splay_zz_start(node_pointer p_nd,
245 _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
254 p_nd->m_p_parent = base_type::m_p_head;
260 p_nd->m_p_parent = p_greatgrandparent;
263 p_greatgrandparent->m_p_left = p_nd;
265 p_greatgrandparent->m_p_right = p_nd;
271 splay_zz_end(node_pointer p_nd, node_pointer p_parent,
274 if (p_nd->m_p_parent == base_type::m_p_head)
275 base_type::m_p_head->m_p_parent = p_nd;
279 apply_update(p_nd, (node_update* )this);
281 _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd);)