+Fri Dec 26 02:03:58 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/garray.[hc] (g_ptr_array_foreach): New function to
+ call a function for each element of a GPtrArray. (#114790)
+
+ * tests/array-test.c (main): Add a test for g_ptr_array_foreach().
+
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
* m4macros/glib-gettext.m4: Quote macro names to support
+Fri Dec 26 02:03:58 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/garray.[hc] (g_ptr_array_foreach): New function to
+ call a function for each element of a GPtrArray. (#114790)
+
+ * tests/array-test.c (main): Add a test for g_ptr_array_foreach().
+
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
* m4macros/glib-gettext.m4: Quote macro names to support
+Fri Dec 26 02:03:58 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/garray.[hc] (g_ptr_array_foreach): New function to
+ call a function for each element of a GPtrArray. (#114790)
+
+ * tests/array-test.c (main): Add a test for g_ptr_array_foreach().
+
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
* m4macros/glib-gettext.m4: Quote macro names to support
+Fri Dec 26 02:03:58 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/garray.[hc] (g_ptr_array_foreach): New function to
+ call a function for each element of a GPtrArray. (#114790)
+
+ * tests/array-test.c (main): Add a test for g_ptr_array_foreach().
+
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
* m4macros/glib-gettext.m4: Quote macro names to support
+Fri Dec 26 02:03:58 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/garray.[hc] (g_ptr_array_foreach): New function to
+ call a function for each element of a GPtrArray. (#114790)
+
+ * tests/array-test.c (main): Add a test for g_ptr_array_foreach().
+
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
* m4macros/glib-gettext.m4: Quote macro names to support
+Fri Dec 26 02:03:58 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/garray.[hc] (g_ptr_array_foreach): New function to
+ call a function for each element of a GPtrArray. (#114790)
+
+ * tests/array-test.c (main): Add a test for g_ptr_array_foreach().
+
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
* m4macros/glib-gettext.m4: Quote macro names to support
+Fri Dec 26 02:04:49 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/glib-sections.txt: Add g_ptr_array_foreach().
+
Sun Dec 21 01:01:34 2003 Matthias Clasen <maclas@gmx.de>
* glib/tmpl/misc_utils.sgml: Document the encoding of
g_ptr_array_set_size
g_ptr_array_index
g_ptr_array_free
+g_ptr_array_foreach
</SECTION>
user_data);
}
+/**
+ * g_ptr_array_foreach:
+ * @array: a #GPtrArray
+ * @func: the function to call for each array element
+ * @user_data: user data to pass to the function
+ *
+ * Calls a function for each element of a #GPtrArray.
+ *
+ * Since: 2.4
+ **/
+void
+g_ptr_array_foreach (GPtrArray *array,
+ GFunc func,
+ gpointer user_data)
+{
+ guint i;
+
+ g_return_if_fail (array);
+
+ for (i = 0; i < array->len; i++)
+ (*func) (array->pdata[i], user_data);
+}
+
/* Byte arrays
*/
void g_ptr_array_sort_with_data (GPtrArray *array,
GCompareDataFunc compare_func,
gpointer user_data);
+void g_ptr_array_foreach (GPtrArray *array,
+ GFunc func,
+ gpointer user_data);
/* Byte arrays, an array of guint8. Implemented as a GArray,
} GlibTestInfo;
+static void
+sum_up (gpointer data,
+ gpointer user_data)
+{
+ gint *sum = (gint *)user_data;
+
+ *sum += GPOINTER_TO_INT (data);
+}
+
int
main (int argc,
char *argv[])
GArray *garray;
GPtrArray *gparray;
GByteArray *gbarray;
+ gint sum = 0;
/* array tests */
garray = g_array_new (FALSE, FALSE, sizeof (gint));
for (i = 0; i < 10000; i++)
if (g_ptr_array_index (gparray, i) != GINT_TO_POINTER (i))
g_print ("array fails: %p ( %p )\n", g_ptr_array_index (gparray, i), GINT_TO_POINTER (i));
+
+ g_ptr_array_foreach (gparray, sum_up, &sum);
+ g_assert (sum == 49995000);
g_ptr_array_free (gparray, TRUE);