VortexHash: Thread Safe Hash table used inside Vortex Library.


Functions

void vortex_hash_clear (VortexHash *hash_table)
 Allows to clear a hash table.
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.
void vortex_hash_destroy (VortexHash *hash_table)
 Destroy the given hash freeing all resources.
void vortex_hash_foreach (VortexHash *hash_table, axlHashForeachFunc func, axlPointer user_data)
 Perform a foreach over all elements inside the VortexHash.
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.
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.
void vortex_hash_insert (VortexHash *hash_table, axlPointer key, axlPointer value)
 Inserts a pair key/value inside the given VortexHash.
int vortex_hash_lock_until_changed (VortexHash *hash_table, long int 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).
axlPointer vortex_hash_lookup (VortexHash *hash_table, axlPointer key)
 Perform a lookup using the given key inside the given hash.
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.
VortexHashvortex_hash_new (axlHashFunc hash_func, axlEqualFunc key_equal_func)
 Creates a new VortexHash without providing destroy function.
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.
void vortex_hash_ref (VortexHash *hash_table)
 Allows to increase in one unit the reference counting on the hash table received.
axl_bool vortex_hash_remove (VortexHash *hash_table, axlPointer key)
 Removes the value index by the given key inside the given hash.
void vortex_hash_replace (VortexHash *hash_table, axlPointer key, axlPointer value)
 Replace using the given pair key/value into the given hash.
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.
int vortex_hash_size (VortexHash *hash_table)
 Returns the current hash size.
void vortex_hash_unref (VortexHash *hash_table)
 Decrease reference counting and, if reached 0 reference a call to vortex_hash_destroy is done.