| 143 | |
| 144 | template<class NODE, class OWNER> |
| 145 | void GenericNode<NODE, OWNER>::remove(NODE* pNode, bool bDelete) |
| 146 | { |
| 147 | MYGUI_DEBUG_ASSERT(pNode, "GenericNode<NODE, OWNER>::remove pNode is nullptr"); |
| 148 | |
| 149 | for (typename VectorGenericNodePtr::iterator Iterator = mChildren.begin(); Iterator != mChildren.end(); |
| 150 | ++Iterator) |
| 151 | { |
| 152 | if (*Iterator != pNode) |
| 153 | continue; |
| 154 | |
| 155 | mChildren.erase(Iterator); |
| 156 | pNode->mpParent = nullptr; |
| 157 | |
| 158 | if (bDelete) |
| 159 | delete pNode; |
| 160 | |
| 161 | invalidate(); |
| 162 | |
| 163 | return; |
| 164 | } |
| 165 | |
| 166 | MYGUI_DEBUG_ASSERT(pNode, "GenericNode<NODE, OWNER>::remove pNode not child"); |
| 167 | } |
| 168 | |
| 169 | template<class NODE, class OWNER> |
| 170 | void GenericNode<NODE, OWNER>::removeAll(bool bDelete) |
no test coverage detected