Function
GLibHashTablenew_full
Declaration [src]
GHashTable*
g_hash_table_new_full (
GHashFunc hash_func,
GEqualFunc key_equal_func,
GDestroyNotify key_destroy_func,
GDestroyNotify value_destroy_func
)
Description [src]
Creates a new GHashTable
like g_hash_table_new()
with a reference
count of 1 and allows to specify functions to free the memory
allocated for the key and value that get called when removing the
entry from the GHashTable
.
Since version 2.42 it is permissible for destroy notify functions to
recursively remove further items from the hash table. This is only
permissible if the application still holds a reference to the hash table.
This means that you may need to ensure that the hash table is empty by
calling g_hash_table_remove_all()
before releasing the last reference using g_hash_table_unref().
This function is not directly available to language bindings.
Parameters
hash_func
-
Type:
GHashFunc
A function to create a hash value from a key.
key_equal_func
-
Type:
GEqualFunc
A function to check two keys for equality.
key_destroy_func
-
Type:
GDestroyNotify
A function to free the memory allocated for the key used when removing the entry from the
GHashTable
, orNULL
if you don’t want to supply such a function. value_destroy_func
-
Type:
GDestroyNotify
A function to free the memory allocated for the value used when removing the entry from the
GHashTable
, orNULL
if you don’t want to supply such a function.
Return value
Type: GHashTable
A new GHashTable
.
The caller of the function takes ownership of the data, and is responsible for freeing it. |