HashTableIter
- class HashTableIter(*args, **kwargs)
- Constructors:
HashTableIter()
Methods
- class HashTableIter
- get_hash_table() dict[None, None]
Returns the
HashTable
associated withiter
.Added in version 2.16.
- init(hash_table: dict[None, None]) None
Initializes a key/value pair iterator and associates it with
hash_table
. Modifying the hash table after calling this function invalidates the returned iterator.The iteration order of a
HashTableIter
over the keys/values in a hash table is not defined.GHashTableIter iter; gpointer key, value; g_hash_table_iter_init (&iter, hash_table); while (g_hash_table_iter_next (&iter, &key, &value)) { // do something with key and value }
Added in version 2.16.
- Parameters:
hash_table – a
HashTable
- next() tuple[bool, None, None]
Advances
iter
and retrieves the key and/or value that are now pointed to as a result of this advancement. IfFalse
is returned,key
andvalue
are not set, and the iterator becomes invalid.Added in version 2.16.
- remove() None
Removes the key/value pair currently pointed to by the iterator from its associated
HashTable
. Can only be called afternext()
returnedTrue
, and cannot be called more than once for the same key/value pair.If the
HashTable
was created usingnew_full()
, the key and value are freed using the supplied destroy functions, otherwise you have to make sure that any dynamically allocated values are freed yourself.It is safe to continue iterating the
HashTable
afterward:while (g_hash_table_iter_next (&iter, &key, &value)) { if (condition) g_hash_table_iter_remove (&iter); }
Added in version 2.16.
- Returns:
0 if the file was successfully removed, -1 if an error occurred
- replace(value: None) None
Replaces the value currently pointed to by the iterator from its associated
HashTable
. Can only be called afternext()
returnedTrue
.If you supplied a
value_destroy_func
when creating theHashTable
, the old value is freed using that function.Added in version 2.30.
- Parameters:
value – the value to replace with