X-Git-Url: https://pd.if.org/git/?p=nbds;a=blobdiff_plain;f=include%2Fmap.h;h=357b66895f3b16ace6ae137226ab2599818e938a;hp=71d0ddee0b90e9c45547fb3576a1c58cb32736b3;hb=d26bac75802a324ed98c8d3d88cfb9eb87b3b35a;hpb=f1098084dd54496a61f9a254541190df77edd166 diff --git a/include/map.h b/include/map.h index 71d0dde..357b668 100644 --- a/include/map.h +++ b/include/map.h @@ -1,19 +1,15 @@ #ifndef MAP_H #define MAP_H +#include "datatype.h" + typedef struct map map_t; typedef const struct map_impl *map_type_t; -typedef int (*cmp_fun_t) (void *, void *); -typedef void * (*clone_fun_t) (void *); -typedef uint32_t (*hash_fun_t) (void *); - extern map_type_t MAP_TYPE_HASHTABLE; -extern map_type_t MAP_TYPE_SKIPLIST; -extern map_type_t MAP_TYPE_LIST; -map_t * map_alloc (map_type_t map_type, cmp_fun_t cmp_fun, hash_fun_t hash_fun, clone_fun_t clone_fun); +map_t * map_alloc (map_type_t map_type, const datatype_t *key_type); uint64_t map_get (map_t *map, void *key); uint64_t map_set (map_t *map, void *key, uint64_t new_val); uint64_t map_add (map_t *map, void *key, uint64_t new_val);