### Method

# GLib Sequence search_iter

since: 2.14

#### Declaration [src]

    GSequenceIter*
    g_sequence_search_iter (
      GSequence* seq,
      gpointer data,
      GSequenceIterCompareFunc iter_cmp,
      gpointer cmp_data
    )

#### Description [src]

Like g_sequence_search(), but uses a `GSequenceIterCompareFunc` instead of a `GCompareDataFunc` as the compare function.

`iter_cmp` is called with two iterators pointing into `seq`. It should return 0 if the iterators are equal, a negative value if the first iterator comes before the second, and a positive value if the second iterator comes before the first.

If you are simply searching for an existing element of the sequence, consider using g_sequence_lookup_iter().

This function will fail if the data contained in the sequence is unsorted.

Available since: 2.14

#### Parameters

`data`

  Type: `gpointer`

  Data for the new item.

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

`iter_cmp`

  Type: `GSequenceIterCompareFunc`

  The function used to compare iterators in the sequence.

`cmp_data`

  Type: `gpointer`

  User data passed to `iter_cmp`.

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

#### Return value

Type: `GSequenceIter`

A `GSequenceIter` pointing to the position in `seq` where `data` would have been inserted according to `iter_cmp` and `cmp_data`.

The returned data is owned by the instance.