diff options
Diffstat (limited to 'src/H5TBprivate.h')
-rw-r--r-- | src/H5TBprivate.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/H5TBprivate.h b/src/H5TBprivate.h index f1d6bef..9c2ccc5 100644 --- a/src/H5TBprivate.h +++ b/src/H5TBprivate.h @@ -23,7 +23,7 @@ #endif /* LATER */ /* Typedef for key comparison function */ -typedef int (*H5TB_cmp_t)(void *k1, void *k2, int cmparg); +typedef int (*H5TB_cmp_t)(const void *k1, const void *k2, int cmparg); /* Shortcut macros for links */ # define PARENT 0 @@ -89,6 +89,10 @@ typedef struct H5TB_tree /* Define the "fast compare" values */ #define H5TB_FAST_HADDR_COMPARE 1 #define H5TB_FAST_INTN_COMPARE 2 +#define H5TB_FAST_STR_COMPARE 3 + +/* Define an access macro for getting a node's data */ +#define H5TB_NODE_DATA(n) ((n)->data) #if defined c_plusplus || defined __cplusplus extern "C" @@ -96,8 +100,9 @@ extern "C" #endif /* c_plusplus || __cplusplus */ H5_DLL H5TB_TREE *H5TB_dmake (H5TB_cmp_t cmp, int arg, unsigned fast_compare); -H5_DLL H5TB_NODE *H5TB_dfind (H5TB_TREE * tree, void * key, H5TB_NODE ** pp); -H5_DLL H5TB_NODE *H5TB_find(H5TB_NODE * root, void * key, H5TB_cmp_t cmp, +H5_DLL H5TB_TREE *H5TB_fast_dmake (unsigned fast_compare); +H5_DLL H5TB_NODE *H5TB_dfind (H5TB_TREE * tree, const void * key, H5TB_NODE ** pp); +H5_DLL H5TB_NODE *H5TB_find(H5TB_NODE * root, const void * key, H5TB_cmp_t cmp, int arg, H5TB_NODE ** pp); H5_DLL H5TB_NODE *H5TB_dless (H5TB_TREE * tree, void * key, H5TB_NODE ** pp); H5_DLL H5TB_NODE *H5TB_less (H5TB_NODE * root, void * key, H5TB_cmp_t cmp, |