mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-07 19:35:50 +01:00
New function to call a function for each element of a GPtrArray. (#114790)
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().
This commit is contained in:
parent
07cbd50ea8
commit
e09de99eb5
@ -1,3 +1,10 @@
|
||||
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
|
||||
|
@ -1,3 +1,10 @@
|
||||
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
|
||||
|
@ -1,3 +1,10 @@
|
||||
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
|
||||
|
@ -1,3 +1,10 @@
|
||||
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
|
||||
|
@ -1,3 +1,10 @@
|
||||
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
|
||||
|
@ -1,3 +1,10 @@
|
||||
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
|
||||
|
@ -1,3 +1,7 @@
|
||||
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
|
||||
|
@ -1638,6 +1638,7 @@ g_ptr_array_sort_with_data
|
||||
g_ptr_array_set_size
|
||||
g_ptr_array_index
|
||||
g_ptr_array_free
|
||||
g_ptr_array_foreach
|
||||
|
||||
</SECTION>
|
||||
|
||||
|
@ -639,6 +639,29 @@ g_ptr_array_sort_with_data (GPtrArray *array,
|
||||
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
|
||||
*/
|
||||
|
||||
|
@ -126,6 +126,9 @@ void g_ptr_array_sort (GPtrArray *array,
|
||||
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,
|
||||
|
@ -57,6 +57,15 @@ typedef struct {
|
||||
} 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[])
|
||||
@ -65,6 +74,7 @@ main (int argc,
|
||||
GArray *garray;
|
||||
GPtrArray *gparray;
|
||||
GByteArray *gbarray;
|
||||
gint sum = 0;
|
||||
|
||||
/* array tests */
|
||||
garray = g_array_new (FALSE, FALSE, sizeof (gint));
|
||||
@ -93,6 +103,9 @@ main (int argc,
|
||||
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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user