MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / removeChild

Method removeChild

base/poco/XML/src/AbstractContainerNode.cpp:231–267  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

229
230
231Node* AbstractContainerNode::removeChild(Node* oldChild)
232{
233 poco_check_ptr (oldChild);
234
235 bool doEvents = events();
236 if (oldChild == _pFirstChild)
237 {
238 if (doEvents)
239 {
240 static_cast<AbstractNode*>(oldChild)->dispatchNodeRemoved();
241 static_cast<AbstractNode*>(oldChild)->dispatchNodeRemovedFromDocument();
242 }
243 _pFirstChild = _pFirstChild->_pNext;
244 static_cast<AbstractNode*>(oldChild)->_pNext = 0;
245 static_cast<AbstractNode*>(oldChild)->_pParent = 0;
246 }
247 else
248 {
249 AbstractNode* pCur = _pFirstChild;
250 while (pCur && pCur->_pNext != oldChild) pCur = pCur->_pNext;
251 if (pCur)
252 {
253 if (doEvents)
254 {
255 static_cast<AbstractNode*>(oldChild)->dispatchNodeRemoved();
256 static_cast<AbstractNode*>(oldChild)->dispatchNodeRemovedFromDocument();
257 }
258 pCur->_pNext = pCur->_pNext->_pNext;
259 static_cast<AbstractNode*>(oldChild)->_pNext = 0;
260 static_cast<AbstractNode*>(oldChild)->_pParent = 0;
261 }
262 else throw DOMException(DOMException::NOT_FOUND_ERR);
263 }
264 oldChild->autoRelease();
265 if (doEvents) dispatchSubtreeModified();
266 return oldChild;
267}
268
269
270Node* AbstractContainerNode::appendChild(Node* newChild)

Callers 2

insertBeforeMethod · 0.45
replaceChildMethod · 0.45

Calls 3

dispatchNodeRemovedMethod · 0.80
autoReleaseMethod · 0.45

Tested by

no test coverage detected