Class HashTableIter

All Implemented Interfaces:
PointerInterface

public class HashTableIter extends Record
A GHashTableIter structure represents an iterator that can be used
to iterate over the elements of a #GHashTable. GHashTableIter
structures are typically allocated on the stack and then initialized
with g_hash_table_iter_init().

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

https://docs.gtk.org/glib/struct.HashTableIter.html

  • Field Details

  • Constructor Details

    • HashTableIter

      public HashTableIter(PointerContainer pointer)
    • HashTableIter

      public HashTableIter()
  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • getFieldDummy1

      public Pointer getFieldDummy1()
    • getFieldDummy2

      public Pointer getFieldDummy2()
    • getFieldDummy3

      public Pointer getFieldDummy3()
    • getFieldDummy4

      public int getFieldDummy4()
    • getFieldDummy5

      public boolean getFieldDummy5()
    • getFieldDummy6

      public Pointer getFieldDummy6()
    • getHashTable

      public HashTable getHashTable()
      Returns the #GHashTable associated with @iter.
      Returns:
      the #GHashTable associated with @iter.
    • init

      public void init(@Nonnull HashTable hash_table)
      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 #GHashTableIter over the keys/values in a hash
      table is not defined.
      <!-- language="C" -->
       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:
      hash_table - a #GHashTable
    • remove

      public void remove()
      Removes the key/value pair currently pointed to by the iterator
      from its associated #GHashTable. 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 #GHashTable 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 #GHashTable afterward:
      <!-- language="C" -->
       while (g_hash_table_iter_next (&iter, &key, &value))
         {
           if (condition)
             g_hash_table_iter_remove (&iter);
         }
       
    • replace

      public void replace(@Nullable Pointer value)
      Replaces the value currently pointed to by the iterator
      from its associated #GHashTable. Can only be called after
      g_hash_table_iter_next() returned %TRUE.

      If you supplied a @value_destroy_func when creating the
      #GHashTable, the old value is freed using that function.
      Parameters:
      value - the value to replace with
    • steal

      public void steal()
      Removes the key/value pair currently pointed to by the
      iterator from its associated #GHashTable, 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.