libuproc  1.2.0
Data Structures | Functions
object uproc_bstiter

BST in-order iterator. More...

Data Structures

struct  uproc_bstiter
 BST in-order iterator. More...
 

Functions

uproc_bstiteruproc_bstiter_create (const uproc_bst *t)
 Create BST in-order iterator. More...
 
int uproc_bstiter_next (uproc_bstiter *iter, union uproc_bst_key *key, void *value)
 Obtain next key/value pair. More...
 
void uproc_bstiter_destroy (uproc_bstiter *iter)
 Destroy BST iterator. More...
 

Detailed Description

BST in-order iterator.

Function Documentation

uproc_bstiter* uproc_bstiter_create ( const uproc_bst t)

Create BST in-order iterator.

If the tree being iterated is modified, correct behaviour of the iterator is not guaranteed (i.o.w. don't do it).

Parameters
tBST instance
Returns
Returns a new BST iterator instance. If memory allocation fails, returns NULL and sets uproc_errno to UPROC_ENOMEM.
int uproc_bstiter_next ( uproc_bstiter iter,
union uproc_bst_key key,
void *  value 
)

Obtain next key/value pair.

Parameters
iterBST iterator
keyOUT: value of next key
valueOUT: value of next item
Returns
Returns 0 if an item was produced. If the iterator is exhausted, returns 1 and does not modify *key or *value. This function can not fail, so -1 is never returned.
void uproc_bstiter_destroy ( uproc_bstiter iter)

Destroy BST iterator.