|
| static dnode_t * | dnode_alloc (void *context) |
| |
| static void | dnode_free (dnode_t *node, void *context) |
| |
| static void | rotate_left (dnode_t *upper) |
| |
| static void | rotate_right (dnode_t *upper) |
| |
| static void | free_nodes (dict_t *dict, dnode_t *node, dnode_t *nil) |
| |
| static int | verify_dict_has_node (dnode_t *nil, dnode_t *root, dnode_t *node) |
| |
| void | dict_set_allocator (dict_t *dict, dnode_alloc_t al, dnode_free_t fr, void *context) |
| |
| void | dict_free_nodes (dict_t *dict) |
| |
| dict_t * | dict_init (dict_t *dict, dictcount_t maxcount, dict_comp_t comp) |
| |
| dnode_t * | dict_lookup (dict_t *dict, const void *key) |
| |
| void | dict_insert (dict_t *dict, dnode_t *node, const void *key) |
| |
| int | dict_alloc_insert (dict_t *dict, const void *key, void *data) |
| |
| dnode_t * | dict_first (dict_t *dict) |
| |
| dnode_t * | dict_last (dict_t *dict) |
| |
| dnode_t * | dict_next (dict_t *dict, dnode_t *curr) |
| |
| dnode_t * | dict_prev (dict_t *dict, dnode_t *curr) |
| |
| void | dict_allow_dupes (dict_t *dict) |
| |
| dictcount_t | dict_count (dict_t *dict) |
| |
| int | dict_isempty (dict_t *dict) |
| |
| int | dict_isfull (dict_t *dict) |
| |
| int | dict_contains (dict_t *dict, dnode_t *node) |
| |
| static dnode_t * | dnode_alloc (void *UNUSED(context)) |
| |
| static void | dnode_free (dnode_t *node, void *UNUSED(context)) |
| |
| dnode_t * | dnode_create (void *data) |
| |
| dnode_t * | dnode_init (dnode_t *dnode, void *data) |
| |
| void | dnode_destroy (dnode_t *dnode) |
| |
| void * | dnode_get (dnode_t *dnode) |
| |
| const void * | dnode_getkey (dnode_t *dnode) |
| |