40#include <Inventor/C/basic.h>
42#if defined(COIN_INTERNAL) && !defined(COIN_ALLOW_CC_HASH)
43#error prefer cc_dict over cc_hash for internal code
50 typedef uintptr_t cc_hash_key;
51 typedef struct cc_hash cc_hash;
52 typedef cc_hash_key cc_hash_func(
const cc_hash_key key);
53 typedef void cc_hash_apply_func(cc_hash_key key,
void * val,
void * closure);
55 COIN_DLL_API cc_hash * cc_hash_construct(
unsigned int size,
float loadfactor);
56 COIN_DLL_API
void cc_hash_destruct(cc_hash * ht);
57 COIN_DLL_API
void cc_hash_clear(cc_hash * ht);
59 COIN_DLL_API SbBool cc_hash_put(cc_hash * ht, cc_hash_key key,
void * val);
60 COIN_DLL_API SbBool cc_hash_get(cc_hash * ht, cc_hash_key key,
void ** val);
61 COIN_DLL_API SbBool cc_hash_remove(cc_hash * ht, cc_hash_key key);
62 COIN_DLL_API
void cc_hash_apply(cc_hash * ht, cc_hash_apply_func * func,
void * closure);
64 COIN_DLL_API
unsigned int cc_hash_get_num_elements(cc_hash * ht);
66 COIN_DLL_API
void cc_hash_set_hash_func(cc_hash * ht, cc_hash_func * func);
67 COIN_DLL_API
void cc_hash_print_stat(cc_hash * ht);