As part of my work on TS-2863 (FQDN support for server session sharing) I implemented a new variety of hash table. I did this because none of the current hash table implementations were adequate. I hope this one is useful enough to be adopted as the standard.
The key point of this implementation is that it uses the internal link support from List.h to handle chaining in the hash table. This gives it key advantages over all of the existing implementations. 1) TCL hash table - no TCL. 'nuff said. 2) HashTable - items can be removed. (Yes, seriously, this one does *not* support delete/remove of items). 3) ChainHashTable - no separate allocation. It also has a documented interface which should make it easier to use. I have attached a patch with the implementation and documentation to TS-2948.