Axl Hash: A hash table used by Axl Library


Functions

axlHashaxl_hash_copy (axlHash *hash, axlHashItemCopy key_copy, axlHashItemCopy value_copy)
 Allows to copy the provided hash, providing the copy function used to duplicate key and value items stored.
int axl_hash_equal_int (axlPointer keya, axlPointer keyb)
 Convenience hash function to compare two keys that holds integers values.
int axl_hash_equal_string (axlPointer keya, axlPointer keyb)
 Common equal hash function associated to axl_hash_string that allows to check two keys to be equal, conforming to the results expected by the hash (axlHash).
bool axl_hash_exists (axlHash *hash, axlPointer key)
 Allows to check if the provided key is found on the given hash table.
void axl_hash_foreach (axlHash *hash, axlHashForeachFunc func, axlPointer user_data)
 Performs a foreach operation over all items stored in the hash provided.
void axl_hash_foreach2 (axlHash *hash, axlHashForeachFunc2 func, axlPointer user_data, axlPointer user_data2)
 Allows to perform a foreach operation providing two user defined pointer to be passed to the foreach function for each item found.
void axl_hash_foreach3 (axlHash *hash, axlHashForeachFunc3 func, axlPointer user_data, axlPointer user_data2, axlPointer user_data3)
 Three user defined pointers foreach function over a hash.
void axl_hash_foreach4 (axlHash *hash, axlHashForeachFunc4 func, axlPointer user_data, axlPointer user_data2, axlPointer user_data3, axlPointer user_data4)
 Four user defined pointers foreach function over a hash.
void axl_hash_free (axlHash *hash)
 Allows to deallocate the hash provided.
axlPointer axl_hash_get (axlHash *hash, axlPointer key)
 Allows to get the content associated to the key provided inside the hash provided.
void axl_hash_insert (axlHash *hash, axlPointer key, axlPointer data)
 Inserts a key index value into the provided hash table.
void axl_hash_insert_full (axlHash *hash, axlPointer key, axlDestroyFunc key_destroy, axlPointer data, axlDestroyFunc data_destroy)
 Inserts a key value into the provided hash table, allowing to provide deallocation functions for the key and the data to be stored.
unsigned int axl_hash_int (axlPointer key)
 Convenience hashing function to store keys that are integers.
int axl_hash_items (axlHash *hash)
 Returns the number of items already stored on the provided hash.
axlHashaxl_hash_new (axlHashFunc hash, axlEqualFunc equal)
 Creates a new hash table using the function provided as hashing function.
axlHashaxl_hash_new_full (axlHashFunc hash, axlEqualFunc equal, int step)
 The function works the same way like axl_hash_new, but provides a way to configure how many unit are allocated on hash resizing operations.
void axl_hash_remove (axlHash *hash, axlPointer key)
 Allows to remove the selected pair key/value on the provided hash table.
unsigned int axl_hash_string (axlPointer _key)
 Public hash implementation for keys that are strings.