hashmapp.

This commit is contained in:
ari melody 2026-03-13 02:56:29 +00:00
commit e34fc0ca7f
Signed by: ari
GPG key ID: 60B5F0386E3DDB7E
5 changed files with 161 additions and 0 deletions

28
hashmap.h Normal file
View file

@ -0,0 +1,28 @@
#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 *get(HashMap *map, char *key);
Entry *set(HashMap *map, char *key, void *data, size_t data_size);
#endif // _HASHMAP_H