aoc_omni/c/lib/hashmap.h

25 lines
519 B
C

#ifndef AOC_HASHMAP
#define AOC_HASHMAP
#define AOC_HASHMAP_RADIX 1024
int aoc_hash(const char *string);
typedef struct AocHashmapNode AocHashmapNode;
typedef struct AocHashmapNode {
char *key;
void *value;
AocHashmapNode *next;
} AocHashmapNode;
typedef struct AocHashmap {
AocHashmapNode* buckets[AOC_HASHMAP_RADIX];
} AocHashmap;
AocHashmapNode *aoc_hashmap_get(AocHashmap *map, char *key);
void aoc_hashmap_put(AocHashmap *map, char *key, void *value);
void aoc_hashmap_free(AocHashmap *map);
#endif