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);