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.