axl main logo
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Modules Pages
Functions
Axl Hash: A hash table used by Axl Library

Functions

int axl_hash_capacity (axlHash *hash)
 Allows to get the amount of items that could store the hash without allocating more additional memory. More...
 
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. More...
 
axlHashaxl_hash_copy_full (axlHash *hash, axlHashItemCopy key_copy, axlHashItemCopy value_copy, axlDestroyFunc destroy_key, axlDestroyFunc destroy_data)
 Allows to copy the provided hash, providing the copy function used to duplicate key and value items stored. More...
 
axl_bool axl_hash_delete (axlHash *hash, axlPointer key)
 Allows to remove the selected pair key/value on the provided hash table, without calling to destroy functions. More...
 
int axl_hash_equal_int (axlPointer keya, axlPointer keyb)
 Convenience hash function to compare two keys that holds integers values. More...
 
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). More...
 
axl_bool axl_hash_exists (axlHash *hash, axlPointer key)
 Allows to check if the provided key is found on the given hash table. More...
 
void axl_hash_foreach (axlHash *hash, axlHashForeachFunc func, axlPointer user_data)
 Performs a foreach operation over all items stored in the hash provided. More...
 
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. More...
 
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. More...
 
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. More...
 
void axl_hash_free (axlHash *hash)
 Allows to deallocate the hash provided. More...
 
axlPointer axl_hash_get (axlHash *hash, axlPointer key)
 Allows to get the content associated to the key provided inside the hash provided. More...
 
void axl_hash_insert (axlHash *hash, axlPointer key, axlPointer data)
 Inserts a key index value into the provided hash table. More...
 
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. More...
 
unsigned int axl_hash_int (axlPointer key)
 Convenience hashing function to store keys that are integers. More...
 
int axl_hash_items (axlHash *hash)
 Returns the number of items already stored on the provided hash. More...
 
axlHashaxl_hash_new (axlHashFunc hash, axlEqualFunc equal)
 Creates a new hash table using the function provided as hashing function. More...
 
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. More...
 
axl_bool axl_hash_remove (axlHash *hash, axlPointer key)
 Allows to remove the selected pair key/value on the provided hash table. More...
 
unsigned int axl_hash_string (axlPointer _key)
 Public hash implementation for keys that are strings. More...
 

Detailed Description