diff options
Diffstat (limited to 'custom_mutators/grammatron/hashmap.h')
-rw-r--r-- | custom_mutators/grammatron/hashmap.h | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/custom_mutators/grammatron/hashmap.h b/custom_mutators/grammatron/hashmap.h deleted file mode 100644 index bb66ad2e..00000000 --- a/custom_mutators/grammatron/hashmap.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Generic hashmap manipulation functions - * - * Originally by Elliot C Back - - * http://elliottback.com/wp/hashmap-implementation-in-c/ - * - * Modified by Pete Warden to fix a serious performance problem, support strings - * as keys and removed thread synchronization - http://petewarden.typepad.com - */ -#ifndef __HASHMAP_H__ -#define __HASHMAP_H__ - -#define MAP_MISSING -3 /* No such element */ -#define MAP_FULL -2 /* Hashmap is full */ -#define MAP_OMEM -1 /* Out of Memory */ -#define MAP_OK 0 /* OK */ - -/* - * any_t is a pointer. This allows you to put arbitrary structures in - * the hashmap. - */ -typedef void *any_t; - -/* - * PFany is a pointer to a function that can take two any_t arguments - * and return an integer. Returns status code.. - */ -typedef int (*PFany)(any_t, any_t); - -/* - * map_t is a pointer to an internally maintained data structure. - * Clients of this package do not need to know how hashmaps are - * represented. They see and manipulate only map_t's. - */ -typedef any_t map_t; - -/* - * Return an empty hashmap. Returns NULL if empty. - */ -extern map_t hashmap_new(); - -/* - * Iteratively call f with argument (item, data) for - * each element data in the hashmap. The function must - * return a map status code. If it returns anything other - * than MAP_OK the traversal is terminated. f must - * not reenter any hashmap functions, or deadlock may arise. - */ -extern int hashmap_iterate(map_t in, PFany f, any_t item); - -/* - * Add an element to the hashmap. Return MAP_OK or MAP_OMEM. - */ -extern int hashmap_put(map_t in, char *key, any_t value); - -/* - * Get an element from the hashmap. Return MAP_OK or MAP_MISSING. - */ -extern int hashmap_get(map_t in, char *key, any_t *arg); - -/* - * Remove an element from the hashmap. Return MAP_OK or MAP_MISSING. - */ -extern int hashmap_remove(map_t in, char *key); - -/* - * Get any element. Return MAP_OK or MAP_MISSING. - * remove - should the element be removed from the hashmap - */ -extern int hashmap_get_one(map_t in, any_t *arg, int remove); - -/* - * Free the hashmap - */ -extern void hashmap_free(map_t in); - -/* - * Get the current size of a hashmap - */ -extern int hashmap_length(map_t in); - -#endif - |