libuproc
1.2.0
|
Module: Binary search tree. More...
Go to the source code of this file.
Data Structures | |
union | uproc_bst_key |
The BST key type. More... | |
Enumerations | |
enum | uproc_bst_keytype { UPROC_BST_UINT, UPROC_BST_WORD } |
Which member of union uproc_bst_key is used. More... | |
enum | { UPROC_BST_KEY_NOT_FOUND = -404, UPROC_BST_KEY_EXISTS = -403 } |
BST specific return codes. More... | |
Functions | |
uproc_bst * | uproc_bst_create (enum uproc_bst_keytype key_type, size_t value_size) |
Initialize an empty binary search tree. More... | |
void | uproc_bst_destroy (uproc_bst *t) |
Destroy BST and all contained nodes. More... | |
int | uproc_bst_isempty (uproc_bst *t) |
Return non-zero if the tree is empty. More... | |
size_t | uproc_bst_size (const uproc_bst *t) |
Return the number of nodes. More... | |
int | uproc_bst_insert (uproc_bst *t, union uproc_bst_key key, const void *value) |
Insert item. More... | |
int | uproc_bst_update (uproc_bst *t, union uproc_bst_key key, const void *value) |
Insert or update item. More... | |
int | uproc_bst_get (uproc_bst *t, union uproc_bst_key key, void *value) |
Get item. More... | |
int | uproc_bst_remove (uproc_bst *t, union uproc_bst_key key, void *value) |
Remove item. More... | |
void | uproc_bst_map (const uproc_bst *t, void(*func)(union uproc_bst_key, void *, void *), void *opaque) |
Apply function to all items. More... | |
uproc_bstiter * | uproc_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... | |
Module: Binary search tree.