mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-12 05:39:21 +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>
|
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
* m4macros/glib-gettext.m4: Quote macro names to support
|
* 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>
|
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
* m4macros/glib-gettext.m4: Quote macro names to support
|
* 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>
|
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
* m4macros/glib-gettext.m4: Quote macro names to support
|
* 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>
|
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
* m4macros/glib-gettext.m4: Quote macro names to support
|
* 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>
|
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
* m4macros/glib-gettext.m4: Quote macro names to support
|
* 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>
|
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
* m4macros/glib-gettext.m4: Quote macro names to support
|
* 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>
|
Sun Dec 21 01:01:34 2003 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
* glib/tmpl/misc_utils.sgml: Document the encoding of
|
* 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_set_size
|
||||||
g_ptr_array_index
|
g_ptr_array_index
|
||||||
g_ptr_array_free
|
g_ptr_array_free
|
||||||
|
g_ptr_array_foreach
|
||||||
|
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
|
@ -639,6 +639,29 @@ g_ptr_array_sort_with_data (GPtrArray *array,
|
|||||||
user_data);
|
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
|
/* Byte arrays
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -126,6 +126,9 @@ void g_ptr_array_sort (GPtrArray *array,
|
|||||||
void g_ptr_array_sort_with_data (GPtrArray *array,
|
void g_ptr_array_sort_with_data (GPtrArray *array,
|
||||||
GCompareDataFunc compare_func,
|
GCompareDataFunc compare_func,
|
||||||
gpointer user_data);
|
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,
|
/* Byte arrays, an array of guint8. Implemented as a GArray,
|
||||||
|
@ -57,6 +57,15 @@ typedef struct {
|
|||||||
} GlibTestInfo;
|
} GlibTestInfo;
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
sum_up (gpointer data,
|
||||||
|
gpointer user_data)
|
||||||
|
{
|
||||||
|
gint *sum = (gint *)user_data;
|
||||||
|
|
||||||
|
*sum += GPOINTER_TO_INT (data);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc,
|
main (int argc,
|
||||||
char *argv[])
|
char *argv[])
|
||||||
@ -65,6 +74,7 @@ main (int argc,
|
|||||||
GArray *garray;
|
GArray *garray;
|
||||||
GPtrArray *gparray;
|
GPtrArray *gparray;
|
||||||
GByteArray *gbarray;
|
GByteArray *gbarray;
|
||||||
|
gint sum = 0;
|
||||||
|
|
||||||
/* array tests */
|
/* array tests */
|
||||||
garray = g_array_new (FALSE, FALSE, sizeof (gint));
|
garray = g_array_new (FALSE, FALSE, sizeof (gint));
|
||||||
@ -93,6 +103,9 @@ main (int argc,
|
|||||||
for (i = 0; i < 10000; i++)
|
for (i = 0; i < 10000; i++)
|
||||||
if (g_ptr_array_index (gparray, i) != GINT_TO_POINTER (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_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);
|
g_ptr_array_free (gparray, TRUE);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user