since: 2.54


g_ptr_array_find_with_equal_func (
  GPtrArray* haystack,
  gconstpointer needle,
  GEqualFunc equal_func,
  guint* index_


Checks whether needle exists in haystack, using the given equal_func. If the element is found, TRUE is returned and the element’s index is returned in index_ (if non-NULL). Otherwise, FALSE is returned and index_ is undefined. If needle exists multiple times in haystack, the index of the first instance is returned.

equal_func is called with the element from the array as its first parameter, and needle as its second parameter. If equal_func is NULL, pointer equality is used.

Available since: 2.54

This function is not directly available to language bindings.



Type: An array of gpointer

Pointer array to be searched.

The data is owned by the caller of the function.

Type: gconstpointer

Pointer to look for.

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

Type: GEqualFunc

The function to call for each element, which should return TRUE when the desired element is found; or NULL to use pointer equality.


Type: guint*

Return location for the index of the element, if found.

The argument will be set by the function.
The argument can be NULL.

Return value

Type: gboolean

TRUE if needle is one of the elements of haystack.