Lines Matching refs:p_nd
94 make_child_of(node_pointer p_nd, node_pointer p_new_parent)
96 _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
99 p_nd->m_p_next_sibling = p_new_parent->m_p_l_child;
102 p_new_parent->m_p_l_child->m_p_prev_or_parent = p_nd;
104 p_nd->m_p_prev_or_parent = p_new_parent;
106 p_new_parent->m_p_l_child = p_nd;
112 parent(node_pointer p_nd)
116 node_pointer p_pot = p_nd->m_p_prev_or_parent;
118 if (p_pot == NULL || p_pot->m_p_l_child == p_nd)
121 p_nd = p_pot;
128 swap_with_parent(node_pointer p_nd, node_pointer p_parent)
131 m_p_root = p_nd;
133 _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
135 _GLIBCXX_DEBUG_ASSERT(parent(p_nd) == p_parent);
137 const bool nd_direct_child = p_parent->m_p_l_child == p_nd;
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);
147 _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_l_child != NULL);
150 if (p_nd->m_p_next_sibling != NULL)
151 p_nd->m_p_next_sibling->m_p_prev_or_parent = p_nd;
160 p_nd->m_p_prev_or_parent->m_p_l_child = p_nd;
162 p_nd->m_p_prev_or_parent->m_p_next_sibling = p_nd;
166 p_nd->m_p_l_child->m_p_prev_or_parent = p_nd;
172 _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_l_child == p_nd);
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);