CPlay/hashmap/hashmap.h
2025-06-15 21:20:40 +02:00

26 lines
571 B
C

#pragma once
#include <stddef.h>
/*
* TODO: Make thread safe
* TODO: Resizing
* TODO: Custom hashing and eq
*/
typedef struct hashmap hashmap_t;
/** Initialize the hashmap */
hashmap_t *hashmap_create(size_t bucket_count);
/** Deallocate the map */
void hashmap_destroy(hashmap_t *map);
/** Put a new entry into the map */
void hashmap_put(hashmap_t *map, const char *key, void *value);
/** Get an entry from the map */
void *hashmap_get(hashmap_t *map, const char *key);
/** Remove entry from the map */
void hashmap_remove(hashmap_t *map, const char *key);