26 lines
571 B
C
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);
|