Functions
VortexHash: Thread Safe Hash table used inside Vortex Library.

Functions

void vortex_hash_clear (VortexHash *hash_table)
 Allows to clear a hash table. More...
 
axl_bool vortex_hash_delete (VortexHash *hash_table, axlPointer key)
 Allows to remove the provided key and its associated data on the provided hash without calling to the optionally associated destroy functions. More...
 
void vortex_hash_destroy (VortexHash *hash_table)
 Destroy the given hash freeing all resources. More...
 
axl_bool vortex_hash_exists (VortexHash *hash_table, axlPointer key)
 Allows to check if a key exists (without depending on its actual value). More...
 
void vortex_hash_foreach (VortexHash *hash_table, axlHashForeachFunc func, axlPointer user_data)
 Perform a foreach over all elements inside the VortexHash. More...
 
void vortex_hash_foreach2 (VortexHash *hash_table, axlHashForeachFunc2 func, axlPointer user_data, axlPointer user_data2)
 Perform a foreach over all elements inside the VortexHash, allowing to provide two user defined reference at the handler. More...
 
void vortex_hash_foreach3 (VortexHash *hash_table, axlHashForeachFunc3 func, axlPointer user_data, axlPointer user_data2, axlPointer user_data3)
 Perform a foreach over all elements inside the VortexHash, allowing to provide three user defined reference at the handler. More...
 
void vortex_hash_insert (VortexHash *hash_table, axlPointer key, axlPointer value)
 Inserts a pair key/value inside the given VortexHash. More...
 
int vortex_hash_lock_until_changed (VortexHash *hash_table, long wait_microseconds)
 Allows the callers to get locked until a change is detected on the hash table (insert, update or remove operation) found or the wait period is reached (wait_microseconds). More...
 
axlPointer vortex_hash_lookup (VortexHash *hash_table, axlPointer key)
 Perform a lookup using the given key inside the given hash. More...
 
axlPointer vortex_hash_lookup_and_clear (VortexHash *hash_table, axlPointer key)
 Allows to get the data pointed by the provided key and removing it from the table in one step. More...
 
VortexHashvortex_hash_new (axlHashFunc hash_func, axlEqualFunc key_equal_func)
 Creates a new VortexHash without providing destroy function. More...
 
VortexHashvortex_hash_new_full (axlHashFunc hash_func, axlEqualFunc key_equal_func, axlDestroyFunc key_destroy_func, axlDestroyFunc value_destroy_func)
 Creates a new VortexHash setting all functions. More...
 
void vortex_hash_ref (VortexHash *hash_table)
 Allows to increase in one unit the reference counting on the hash table received. More...
 
axl_bool vortex_hash_remove (VortexHash *hash_table, axlPointer key)
 Removes the value index by the given key inside the given hash. More...
 
void vortex_hash_replace (VortexHash *hash_table, axlPointer key, axlPointer value)
 Replace using the given pair key/value into the given hash. More...
 
void vortex_hash_replace_full (VortexHash *hash_table, axlPointer key, axlDestroyFunc key_destroy, axlPointer value, axlDestroyFunc value_destroy)
 Replace using the given pair key/value into the given hash, providing the particular key and value destroy function, overrding default ones. More...
 
int vortex_hash_size (VortexHash *hash_table)
 Returns number of items insisde the hash. More...
 
void vortex_hash_unref (VortexHash *hash_table)
 Decrease reference counting and, if reached 0 reference a call to vortex_hash_destroy is done. More...
 

Detailed Description