HashTableIter

class HashTableIter(*args, **kwargs)

A GHashTableIter structure represents an iterator that can be used to iterate over the elements of a HashTable. GHashTableIter structures are typically allocated on the stack and then initialized with init().

The iteration order of a HashTableIter over the keys/values in a hash table is not defined.

Methods

class HashTableIter
get_hash_table() dict[None, None]

Returns the HashTable associated with iter.

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. If False is returned, key and value 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 after next() returned True, and cannot be called more than once for the same key/value pair.

If the HashTable was created using new_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 after next() returned True.

If you supplied a value_destroy_func when creating the HashTable, the old value is freed using that function.

Added in version 2.30.

Parameters:

value – the value to replace with

Fields

class HashTableIter
dummy1
dummy2
dummy3
dummy4
dummy5
dummy6