### Method

# GLib Tree foreach

#### Declaration

    void
    g_tree_foreach (
      GTree* tree,
      GTraverseFunc func,
      gpointer user_data
    )

#### Description

Calls the given function for each of the key/value pairs in the `GTree`. The function is passed the key and value of each pair, and the given `data` parameter. The tree is traversed in sorted order.

The tree may not be modified while iterating over it (you can’t add/remove items). To remove all items matching a predicate, you need to add each item to a list in your `GTraverseFunc` as you walk over the tree, then walk the list and remove each item.

#### Parameters

`func`

  Type: `GTraverseFunc`

  The function to call for each node visited. If this function returns `TRUE`, the traversal is stopped.

`user_data`

  Type: `gpointer`

  User data to pass to the function.

  The argument can be `NULL`.
  The data is owned by the caller of the method.