31 #include <Inventor/C/basic.h> 33 #if defined(COIN_INTERNAL) && !defined(COIN_ALLOW_CC_HASH) 34 #error prefer cc_dict over cc_hash for internal code 41 typedef uintptr_t cc_hash_key;
42 typedef struct cc_hash cc_hash;
43 typedef cc_hash_key cc_hash_func(
const cc_hash_key key);
44 typedef void cc_hash_apply_func(cc_hash_key key,
void * val,
void * closure);
46 COIN_DLL_API cc_hash * cc_hash_construct(
unsigned int size,
float loadfactor);
47 COIN_DLL_API
void cc_hash_destruct(cc_hash * ht);
48 COIN_DLL_API
void cc_hash_clear(cc_hash * ht);
50 COIN_DLL_API SbBool cc_hash_put(cc_hash * ht, cc_hash_key key,
void * val);
51 COIN_DLL_API SbBool cc_hash_get(cc_hash * ht, cc_hash_key key,
void ** val);
52 COIN_DLL_API SbBool cc_hash_remove(cc_hash * ht, cc_hash_key key);
53 COIN_DLL_API
void cc_hash_apply(cc_hash * ht, cc_hash_apply_func * func,
void * closure);
55 COIN_DLL_API
unsigned int cc_hash_get_num_elements(cc_hash * ht);
57 COIN_DLL_API
void cc_hash_set_hash_func(cc_hash * ht, cc_hash_func * func);
58 COIN_DLL_API
void cc_hash_print_stat(cc_hash * ht);