Class (GI Struct)

GLib-2.0GLibHashTableIter

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

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

Index

Constructors

Properties

Methods

  • 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 GLib.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
    }

    Parameters

    Returns void

  • 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.

    Returns [boolean, any, any]

    false if the end of the GLib.HashTable has been reached.

  • Removes the key/value pair currently pointed to by the iterator from its associated GLib.HashTable. Can only be called after g_hash_table_iter_next() returned true, and cannot be called more than once for the same key/value pair.

    If the GLib.HashTable was created using g_hash_table_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 GLib.HashTable afterward:

    while (g_hash_table_iter_next (&iter, &key, &value))
    {
    if (condition)
    g_hash_table_iter_remove (&iter);
    }

    Returns void

  • Replaces the value currently pointed to by the iterator from its associated GLib.HashTable. Can only be called after g_hash_table_iter_next() returned true.

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

    Parameters

    • Optionalvalue: any

      the value to replace with

    Returns void

  • Removes the key/value pair currently pointed to by the iterator from its associated GLib.HashTable, without calling the key and value destroy functions. Can only be called after g_hash_table_iter_next() returned true, and cannot be called more than once for the same key/value pair.

    Returns void