Lines Matching refs:p_parent
128 swap_with_parent(node_pointer p_nd, node_pointer p_parent)
130 if (p_parent == m_p_root)
134 _GLIBCXX_DEBUG_ASSERT(p_parent != NULL);
135 _GLIBCXX_DEBUG_ASSERT(parent(p_nd) == p_parent);
137 const bool nd_direct_child = p_parent->m_p_l_child == p_nd;
138 const bool parent_root = p_parent->m_p_prev_or_parent == NULL;
140 !parent_root&& p_parent->m_p_prev_or_parent->m_p_l_child == p_parent;
142 std::swap(p_parent->m_p_prev_or_parent, p_nd->m_p_prev_or_parent);
143 std::swap(p_parent->m_p_next_sibling, p_nd->m_p_next_sibling);
144 std::swap(p_parent->m_p_l_child, p_nd->m_p_l_child);
145 std::swap(p_parent->m_metadata, p_nd->m_metadata);
148 _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_prev_or_parent != NULL);
153 if (p_parent->m_p_next_sibling != NULL)
154 p_parent->m_p_next_sibling->m_p_prev_or_parent = p_parent;
156 if (p_parent->m_p_l_child != NULL)
157 p_parent->m_p_l_child->m_p_prev_or_parent = p_parent;
168 p_parent->m_p_prev_or_parent->m_p_next_sibling = p_parent;
173 _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_prev_or_parent == p_parent);
175 p_nd->m_p_l_child = p_parent;
176 p_parent->m_p_prev_or_parent = p_nd;
179 _GLIBCXX_DEBUG_ASSERT(parent(p_parent) == p_nd);