26 template <
class T>
void deque_erase (std::deque<T> d, T elt);
55 if (mIter != mQueue->end())
57 while ((e.
ptrEqual(0)) && (mIter != mQueue->end())) {
78 std::set<OA_ptr<Node> >::iterator ni = t.
node_set->begin();
106 n->next_preorder = 0;
134 std::set<OA_ptr<Node> >::iterator ni = t.
node_set->begin();
164 for (; iter.
isValid(); ++iter) {
174 n->prev_postorder = retLast;
198 if ((e->child_node.ptrEqual(0)) || (e->parent_node.ptrEqual(0))) {
201 if (!e->child_node->incoming.ptrEqual(0)) {
214 e->parent_node->outgoing->push_back(e);
215 e->child_node->incoming = e;
262 n->outgoing->push_back(nullEdge);
280 deque_erase<OA_ptr<Edge> >(*(e->parent_node->outgoing), e);
281 e->child_node->incoming = 0;
303 if (!
n->incoming.ptrEqual(0)) {
305 deque_erase<OA_ptr<Edge> >(*(
n->incoming->parent_node->outgoing),
327 typename std::deque<T>::iterator iter = d.begin();
328 while (iter != d.end()) {