|
| #define | H5SL_LOCATE_SEARCH_FOUND(SLIST, X, I) |
| |
| #define | H5SL_LOCATE_SEARCH_DEFER_REMOVE_FOUND(SLIST, X, I) |
| |
| #define | H5SL_LOCATE_FIND_FOUND(SLIST, X, I) |
| |
| #define | H5SL_LOCATE_SCALAR_CMP(SLIST, TYPE, PNODE, PKEY, HASHVAL) (*(TYPE *)((PNODE)->key) < *(TYPE *)PKEY) |
| |
| #define | H5SL_LOCATE_STRING_CMP(SLIST, TYPE, PNODE, PKEY, HASHVAL) |
| |
| #define | H5SL_LOCATE_OBJ_CMP(SLIST, TYPE, PNODE, PKEY, HASHVAL) |
| |
| #define | H5SL_LOCATE_GENERIC_CMP(SLIST, TYPE, PNODE, PKEY, HASHVAL) ((SLIST)->cmp((TYPE *)((PNODE)->key), (TYPE *)PKEY) < 0) |
| |
| #define | H5SL_LOCATE_SCALAR_EQ(SLIST, TYPE, PNODE, PKEY, HASHVAL) (*(TYPE *)((PNODE)->key) == *(TYPE *)PKEY) |
| |
| #define | H5SL_LOCATE_STRING_EQ(SLIST, TYPE, PNODE, PKEY, HASHVAL) (((PNODE)->hashval == HASHVAL) && (HDstrcmp((const char *)(PNODE)->key, (const char *)PKEY) == 0)) |
| |
| #define | H5SL_LOCATE_OBJ_EQ(SLIST, TYPE, PNODE, PKEY, HASHVAL) ((((TYPE *)((PNODE)->key))->fileno == ((TYPE *)PKEY)->fileno) && (((TYPE *)((PNODE)->key))->addr == ((TYPE *)PKEY)->addr)) |
| |
| #define | H5SL_LOCATE_GENERIC_EQ(SLIST, TYPE, PNODE, PKEY, HASHVAL) ((SLIST)->cmp((TYPE *)((PNODE)->key), (TYPE *)PKEY) == 0) |
| |
| #define | H5SL_LOCATE_SCALAR_HASHINIT(KEY, HASHVAL) |
| |
| #define | H5SL_LOCATE_STRING_HASHINIT(KEY, HASHVAL) HASHVAL = H5_hash_string((const char *)KEY); |
| |
| #define | H5SL_LOCATE_OBJ_HASHINIT(KEY, HASHVAL) |
| |
| #define | H5SL_LOCATE_GENERIC_HASHINIT(KEY, HASHVAL) |
| |
| #define | H5SL_LOCATE_OPT(OP, CMP, SLIST, X, TYPE, KEY, HASHVAL) |
| |
| #define | H5SL_LOCATE_SAFE(OP, CMP, SLIST, X, TYPE, KEY, HASHVAL) |
| |
| #define | H5SL_LOCATE(OP, CMP, SLIST, X, TYPE, KEY, HASHVAL) |
| |
| #define | H5SL_GROW(X, LVL, ERR) |
| |
| #define | H5SL_SHRINK(X, LVL) |
| |
| #define | H5SL_PROMOTE(SLIST, X, PREV, ERR) |
| |
| #define | H5SL_DEMOTE(X, PREV) |
| |
| #define | H5SL_INSERT(CMP, SLIST, X, TYPE, KEY, HASHVAL) |
| |
| #define | H5SL_REMOVE(CMP, SLIST, X, TYPE, KEY, HASHVAL) |
| |
| #define | H5SL_SEARCH(CMP, SLIST, X, TYPE, KEY, HASHVAL) H5SL_LOCATE(SEARCH, CMP, SLIST, X, TYPE, KEY, HASHVAL) |
| |
| #define | H5SL_FIND(CMP, SLIST, X, TYPE, KEY, HASHVAL) H5SL_LOCATE(FIND, CMP, SLIST, X, TYPE, KEY, HASHVAL) |
| |
|
| | H5FL_DEFINE_STATIC (H5SL_t) |
| |
| | H5FL_DEFINE_STATIC (H5SL_node_t) |
| |
| herr_t | H5SL__init_package (void) |
| |
| int | H5SL_term_package (void) |
| |
| H5SL_t * | H5SL_create (H5SL_type_t type, H5SL_cmp_t cmp) |
| |
| size_t | H5SL_count (H5SL_t *slist) |
| |
| herr_t | H5SL_insert (H5SL_t *slist, void *item, const void *key) |
| |
| H5SL_node_t * | H5SL_add (H5SL_t *slist, void *item, const void *key) |
| |
| void * | H5SL_remove (H5SL_t *slist, const void *key) |
| |
| void * | H5SL_remove_first (H5SL_t *slist) |
| |
| void * | H5SL_search (H5SL_t *slist, const void *key) |
| |
| void * | H5SL_less (H5SL_t *slist, const void *key) |
| |
| void * | H5SL_greater (H5SL_t *slist, const void *key) |
| |
| H5SL_node_t * | H5SL_find (H5SL_t *slist, const void *key) |
| |
| H5SL_node_t * | H5SL_below (H5SL_t *slist, const void *key) |
| |
| H5SL_node_t * | H5SL_above (H5SL_t *slist, const void *key) |
| |
| H5SL_node_t * | H5SL_first (H5SL_t *slist) |
| |
| H5SL_node_t * | H5SL_next (H5SL_node_t *slist_node) |
| |
| H5SL_node_t * | H5SL_prev (H5SL_node_t *slist_node) |
| |
| H5SL_node_t * | H5SL_last (H5SL_t *slist) |
| |
| void * | H5SL_item (H5SL_node_t *slist_node) |
| |
| herr_t | H5SL_iterate (H5SL_t *slist, H5SL_operator_t op, void *op_data) |
| |
| herr_t | H5SL_release (H5SL_t *slist) |
| |
| herr_t | H5SL_free (H5SL_t *slist, H5SL_operator_t op, void *op_data) |
| |
| herr_t | H5SL_try_free_safe (H5SL_t *slist, H5SL_try_free_op_t op, void *op_data) |
| |
| herr_t | H5SL_destroy (H5SL_t *slist, H5SL_operator_t op, void *op_data) |
| |
| herr_t | H5SL_close (H5SL_t *slist) |
| |