Lines Matching refs:iter
453 void avl_iter_begin(AvlIter *iter, struct stree *avl, AvlDirection dir) in avl_iter_begin() argument
457 iter->stack_index = 0; in avl_iter_begin()
458 iter->direction = dir; in avl_iter_begin()
461 iter->sm = NULL; in avl_iter_begin()
462 iter->node = NULL; in avl_iter_begin()
468 iter->stack[iter->stack_index++] = node; in avl_iter_begin()
472 iter->sm = (struct sm_state *) node->sm; in avl_iter_begin()
473 iter->node = node; in avl_iter_begin()
476 void avl_iter_next(AvlIter *iter) in avl_iter_next() argument
478 AvlNode *node = iter->node; in avl_iter_next()
479 AvlDirection dir = iter->direction; in avl_iter_next()
487 iter->stack[iter->stack_index++] = node; in avl_iter_next()
490 } else if (iter->stack_index > 0) { in avl_iter_next()
491 node = iter->stack[--iter->stack_index]; in avl_iter_next()
493 iter->sm = NULL; in avl_iter_next()
494 iter->node = NULL; in avl_iter_next()
498 iter->node = node; in avl_iter_next()
499 iter->sm = (struct sm_state *) node->sm; in avl_iter_next()