1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
Type-generic hash tables
Project page: http://www.repo.hu/projects/genht
VCS: svn://svn.repo.hu/genht/trunk
(If you got your source from git, it is likely outdated, get the newest from
the above svn repository or get stable release tarballs from the above page.)
For examples look at doc/example*.
ht.[ch] - the actual hash table implementation (type generic); not
used directly, used to instantiate type-specific variants
like htsi.[ch]; apps may use these to create new typed
hash table instances (see ../doc/examplev.c)
ht[a-z][a-z].[ch] - specific key-value type instances that are used commonly
by applications, e.g. htsi is key=str val=integer,
htpp is key=ptr val=ptr
hash.[ch] - optional: common hash functions for some basic types so
apps don't have to reinvent "string hash" all the time
ht_utils.h - optional: helper macros that are useful with any hash table
mainsi.c - example and regression test (../doc has better examples)
siphash.[ch] - optional: sip hash implementation for binary data
version.h - API version macros (app can use them for compile time check)
ver_edit - part of the "build system", ignore
ht_inlines.h - internal, do not use it directly
Compile time options (feature macros):
GENHT_AUDIT - when declared: do extra checks to catch corrupt table memory
GENHT_DIAG - enable diagnostis: create the _verify() call
|