### Method

# GLib VariantIter next_value

since: 2.24

#### Declaration

    GVariant*
    g_variant_iter_next_value (
      GVariantIter* iter
    )

#### Description

Gets the next item in the container. If no more items remain then `NULL` is returned.

Use `g_variant_unref()` to drop your reference on the return value when you no longer need it.

Here is an example for iterating with g_variant_iter_next_value():

      // recursively iterate a container
      void
      iterate_container_recursive (GVariant *container)
      {
        GVariantIter iter;
        GVariant *child;

        g_variant_iter_init (&iter, container);
        while ((child = g_variant_iter_next_value (&iter)))
          {
            g_print ("type '%s'\n", g_variant_get_type_string (child));

            if (g_variant_is_container (child))
              iterate_container_recursive (child);

            g_variant_unref (child);
          }
      }

Available since: 2.24

#### Return value

Type: `GVariant`

A `GVariant`, or `NULL`.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.
The return value can be `NULL`.