13#ifndef HASH_TABLE_GEN_H
14#define HASH_TABLE_GEN_H
void * hash_table_gen_get(HashTableGen *ht, int key, bool *exists)
Gets the value associated with a key.
List * hash_table_gen_keys(HashTableGen *ht)
Gets the keys of the hash table.
void hash_table_gen_put(HashTableGen *ht, int key, void *data)
Inserts a key-value pair into the hash table.
bool hash_table_gen_empty(HashTableGen *ht)
Checks if the hash table is empty.
HashTableGen * hash_table_gen_create(size_t n_buckets)
Creates a new generic hash table.
size_t hash_table_gen_size(HashTableGen *ht)
Gets the size of the hash table.
void hash_table_gen_remove(HashTableGen *ht, int key)
Removes a key-value pair from the hash table.
HashTableGen * hash_table_gen_copy(HashTableGen *ht)
Creates a copy of the hash table.
void hash_table_gen_print(HashTableGen *ht)
Prints the hash table.
void hash_table_gen_free(HashTableGen *ht, void(*free_data)(void *))
Frees the memory allocated for the hash table.
struct HashTableGen HashTableGen
Definition hash-table-gen.h:21
struct ListNode List
A singly linked list.
Definition list.h:36