// This file is part of noxos and licensed under the MIT open source license #ifndef NOXOS_HASHMAP_H #define NOXOS_HASHMAP_H #include typedef struct hashmap_entry_T hashmap_entry_T; struct hashmap_entry_T { bool in_use; uint64_t key; void* value; hashmap_entry_T* prev; hashmap_entry_T* next; }; typedef struct { uint64_t size; hashmap_entry_T* entries; } hashmap_T; hashmap_T hashmap_create (uint64_t size); void hashmap_destruct (hashmap_T* hashmap); void hashmap_insert (hashmap_T* hashmap, uint64_t key, void* value); void hashmap_delete (hashmap_T* hashmap, uint64_t key); void* hashmap_lookup (hashmap_T* hashmap, uint64_t key); #endif //NOXOS_HASHMAP_H