Lines Matching refs:p_parent
124 swap_with_parent(node_pointer p_nd, node_pointer p_parent)
126 if (p_parent == m_p_root)
130 _GLIBCXX_DEBUG_ASSERT(p_parent != 0);
131 _GLIBCXX_DEBUG_ASSERT(parent(p_nd) == p_parent);
133 const bool nd_direct_child = p_parent->m_p_l_child == p_nd;
134 const bool parent_root = p_parent->m_p_prev_or_parent == 0;
136 !parent_root&& p_parent->m_p_prev_or_parent->m_p_l_child == p_parent;
138 std::swap(p_parent->m_p_prev_or_parent, p_nd->m_p_prev_or_parent);
139 std::swap(p_parent->m_p_next_sibling, p_nd->m_p_next_sibling);
140 std::swap(p_parent->m_p_l_child, p_nd->m_p_l_child);
141 std::swap(p_parent->m_metadata, p_nd->m_metadata);
144 _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_prev_or_parent != 0);
149 if (p_parent->m_p_next_sibling != 0)
150 p_parent->m_p_next_sibling->m_p_prev_or_parent = p_parent;
152 if (p_parent->m_p_l_child != 0)
153 p_parent->m_p_l_child->m_p_prev_or_parent = p_parent;
164 p_parent->m_p_prev_or_parent->m_p_next_sibling = p_parent;
169 _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_prev_or_parent == p_parent);
171 p_nd->m_p_l_child = p_parent;
172 p_parent->m_p_prev_or_parent = p_nd;
175 _GLIBCXX_DEBUG_ASSERT(parent(p_parent) == p_nd);