hashmapp/hashmap.h
2026-03-13 04:22:02 +00:00

28 lines
530 B
C

#ifndef _HASHMAP_H
#define _HASHMAP_H
#include <stddef.h>
#define BUCKET_ENTRIES 20
#define HASHMAP_BUCKETS 2048
typedef struct Entry {
char *key;
void *data;
size_t data_size;
} Entry;
typedef struct Bucket {
size_t n_entries;
Entry entries[BUCKET_ENTRIES];
} Bucket;
typedef struct HashMap {
Bucket buckets[HASHMAP_BUCKETS];
} HashMap;
void init_map(HashMap *map);
void *map_get(HashMap *map, char *key);
Entry *map_set(HashMap *map, char *key, void *data, size_t data_size);
#endif // _HASHMAP_H