Mercurial > repo
view src/ploki/hash.h @ 9437:dbee8592fa68
<moony> ` echo "" | paste | echo "adding another one, one paste at a time"
author | HackBot |
---|---|
date | Wed, 26 Oct 2016 00:24:48 +0000 |
parents | ac0403686959 |
children |
line wrap: on
line source
#ifndef HASH_H_ #define HASH_H_ #include <stddef.h> typedef struct { size_t entries, size, newsize; size_t brk; size_t seed; size_t iter; struct h_node *iterptr; struct h_node **table; size_t (*hash)(const void *, size_t); int (*cmp)(const void *, const void *); void (*delk)(void *); void (*delv)(void *); } Hash; enum { H_OK, H_EXIST, H_NOENT }; void h_init( Hash *, size_t (*)(const void *, size_t), int (*)(const void *, const void *), void (*)(void *), void (*)(void *) ); void h_end(Hash *); int h_get(Hash *, const void *, void **); int h_del(Hash *, const void *); #if 0 void h_push(Hash *, void *, void *); #endif int h_put(Hash *, void *, void *, int); void h_reset(Hash *); int h_nextkv(Hash *, void **, void **); #if 0 size_t h_entries(const Hash *); #define h_entries(h) ((h)->entries + 0) #endif #endif /* HASH_H_ */