45#ifndef ALGORITHM_HASH_TABLE_H
46#define ALGORITHM_HASH_TABLE_H
106#define HASH_TABLE_NULL ((void *) 0)
HashTableValue hash_table_lookup(HashTable *hash_table, HashTableKey key)
Definition hash-table.c:350
int hash_table_insert(HashTable *hash_table, HashTableKey key, HashTableValue value)
Definition hash-table.c:257
HashTablePair hash_table_iter_next(HashTableIterator *iterator)
Definition hash-table.c:470
unsigned int(* HashTableHashFunc)(HashTableKey value)
Definition hash-table.h:116
void(* HashTableKeyFreeFunc)(HashTableKey value)
Definition hash-table.h:132
void * HashTableValue
Definition hash-table.h:80
int hash_table_remove(HashTable *hash_table, HashTableKey key)
Definition hash-table.c:383
int hash_table_iter_has_more(HashTableIterator *iterator)
Definition hash-table.c:465
int(* HashTableEqualFunc)(HashTableKey value1, HashTableKey value2)
Definition hash-table.h:125
struct _HashTableEntry HashTableEntry
Definition hash-table.h:68
void hash_table_iterate(HashTable *hash_table, HashTableIterator *iter)
Definition hash-table.c:443
HashTable * hash_table_new(HashTableHashFunc hash_func, HashTableEqualFunc equal_func)
Definition hash-table.c:125
struct _HashTablePair HashTablePair
struct _HashTableIterator HashTableIterator
Definition hash-table.h:62
unsigned int hash_table_num_entries(HashTable *hash_table)
Definition hash-table.c:438
struct _HashTable HashTable
Definition hash-table.h:56
void * HashTableKey
Definition hash-table.h:74
void(* HashTableValueFreeFunc)(HashTableValue value)
Definition hash-table.h:139
void hash_table_free(HashTable *hash_table)
Definition hash-table.c:156
void hash_table_register_free_functions(HashTable *hash_table, HashTableKeyFreeFunc key_free_func, HashTableValueFreeFunc value_free_func)
Definition hash-table.c:182
An entry in a hash table, storing a key-value pair and a chain link.
Definition hash-table.c:37
A hash table mapping keys to values using separate chaining.
Definition hash-table.c:45
Definition hash-table.h:96
unsigned int next_chain
Definition hash-table.h:99
HashTable * hash_table
Definition hash-table.h:97
HashTableEntry * next_entry
Definition hash-table.h:98
Definition hash-table.h:87
HashTableKey key
Definition hash-table.h:88
HashTableValue value
Definition hash-table.h:89