HashTable.this

Creates a new glib.HashTable like HashTable.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 glib.HashTable

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 HashTable.removeAll before releasing the last reference using HashTable.unref.

  1. this(GHashTable* gHashTable, bool ownedRef)
  2. this(GHashFunc hashFunc, GEqualFunc keyEqualFunc)
  3. this(GHashFunc hashFunc, GEqualFunc keyEqualFunc, GDestroyNotify keyDestroyFunc, GDestroyNotify valueDestroyFunc)

Parameters

hashFunc GHashFunc

a function to create a hash value from a key

keyEqualFunc GEqualFunc

a function to check two keys for equality

keyDestroyFunc GDestroyNotify

a function to free the memory allocated for the key used when removing the entry from the glib.HashTable, or NULL if you don't want to supply such a function.

valueDestroyFunc GDestroyNotify

a function to free the memory allocated for the value used when removing the entry from the glib.HashTable, or NULL if you don't want to supply such a function.

Return Value

Throws

ConstructionException GTK+ fails to create the object.