silchashtable.html
SILC Hash Table Interface Header: silchashtable.h
DESCRIPTION
Implementation of collision resistant hash table. This is a hash table
that provides a reliable (what you add there stays there, and duplicate
keys are allowed) with as fast reference to the key as possible. If
there are a lot of duplicate keys in the hash table the lookup gets
slower of course. However, this is reliable and no data is lost at any
point. If you know that you never have duplicate keys then this is as
fast as any simple hash table.
The interface provides many ways to search the hash table including
an extended interface where caller can specify its own hash and comparison
functions.
There are two ways to traverse the entire hash table if this feature
is needed. There exists a foreach function that calls a foreach
callback for each entry in the hash table. Other way is to use
SilcHashTableList structure and traverse the hash table inside while()
using the list structure. Both are equally fast.
The hash table is not thread safe. If same hash table context is used in
multi thread environment concurrency control must be employed.
SilcHashTable
SilcHashTableList
SilcHashFunction
SilcHashCompare
SilcHashDestructor
SilcHashForeach
silc_hash_table_alloc
silc_hash_table_free
silc_hash_table_size
silc_hash_table_count
silc_hash_table_add
silc_hash_table_replace
silc_hash_table_del
silc_hash_table_del_by_context
silc_hash_table_find
silc_hash_table_find_by_context
silc_hash_table_find_foreach
silc_hash_table_foreach
silc_hash_table_rehash
silc_hash_table_list
silc_hash_table_list_reset
silc_hash_table_get
silc_hash_table_add_ext
silc_hash_table_replace_ext
silc_hash_table_del_ext
silc_hash_table_del_by_context_ext
silc_hash_table_find_ext
silc_hash_table_find_by_context_ext
silc_hash_table_find_foreach_ext
silc_hash_table_rehash_ext
|