http://www.coin3d.org/ http://www.kongsberg.com/kogt/ |
#include <stdlib.h>
#include <Inventor/C/basic.h>
Go to the source code of this file.
Functions | |
cc_hash * | cc_hash_construct (unsigned int size, float loadfactor) |
void | cc_hash_destruct (cc_hash *ht) |
void | cc_hash_clear (cc_hash *ht) |
SbBool | cc_hash_put (cc_hash *ht, cc_hash_key key, void *val) |
SbBool | cc_hash_get (cc_hash *ht, cc_hash_key key, void **val) |
SbBool | cc_hash_remove (cc_hash *ht, cc_hash_key key) |
void | cc_hash_apply (cc_hash *ht, cc_hash_apply_func *func, void *closure) |
unsigned int | cc_hash_get_num_elements (cc_hash *ht) |
void | cc_hash_set_hash_func (cc_hash *ht, cc_hash_func *func) |
void | cc_hash_print_stat (cc_hash *ht) |
cc_hash* cc_hash_construct | ( | unsigned int | size, |
float | loadfactor | ||
) |
Construct a hash table.
size is the initial bucket size. The caller need not attempt to find a good (prime number) value for this argument to ensure good hashing. That will be taken care of internally.
loadfactor is the percentage the table should be filled before resizing, and should be a number from 0 to 1. It is of course possible to specify a number bigger than 1, but then there will be greater chance of having many elements on the same bucket (linear search for an element). If you supply a number <= 0 for loadfactor, the default value 0.75 will be used.
void cc_hash_destruct | ( | cc_hash * | ht | ) |
Destruct the hash table ht.
void cc_hash_clear | ( | cc_hash * | ht | ) |
Clear/remove all elements in the hash table ht.
SbBool cc_hash_put | ( | cc_hash * | ht, |
cc_hash_key | key, | ||
void * | val | ||
) |
Insert a new element in the hash table ht. key is the key used to identify the element, while val is the element value. If key is already used by another element, the element value will be overwritten, and FALSE is returned. Otherwise a new element is created and TRUE is returned.
SbBool cc_hash_get | ( | cc_hash * | ht, |
cc_hash_key | key, | ||
void ** | val | ||
) |
Find the element with key value key. If found, the value is written to val, and TRUE is returned. Otherwise FALSE is returned and val is not changed.
SbBool cc_hash_remove | ( | cc_hash * | ht, |
cc_hash_key | key | ||
) |
Attempt to remove the element with key value key. Returns TRUE if found, FALSE otherwise.
void cc_hash_apply | ( | cc_hash * | ht, |
cc_hash_apply_func * | func, | ||
void * | closure | ||
) |
Call func for for each element in the hash table.
unsigned int cc_hash_get_num_elements | ( | cc_hash * | ht | ) |
Return the number of elements in the hash table.
void cc_hash_set_hash_func | ( | cc_hash * | ht, |
cc_hash_func * | func | ||
) |
Set the hash func that is used to map key values into a bucket index.
void cc_hash_print_stat | ( | cc_hash * | ht | ) |
For debugging only. Prints information about hash with cc_debugerror.
Copyright © by Kongsberg Oil & Gas Technologies. All rights reserved.
Generated for Coin by Doxygen