| Top |
| gboolean | (*GXPred) () |
| gboolean | gx_is_even () |
| gboolean | gx_is_odd () |
| gboolean | gx_is_prime () |
| gboolean | gx_is_str_equal () |
These are designed as simple adapters, for use with functions such as
gx_list_filter().
For example, we can get a list of the prime numbers up to 100 by taking an list of 1..100, then filter out all elements that are not prime.
1 2 3 4 5 6 7 8 9 |
GList *lst, *cur; lst = gx_list_filter_in_place ( gx_list_iota (100, 1, 1), (GXPred)gx_is_prime, NULL, NULL); for (cur = lst; cur; cur = g_list_next (cur)) g_print ("%d\n", GPOINTER_TO_INT(cur->data)); g_list_free (lst); |
gboolean (*GXPred) (gconstpointer data,gconstpointer user_data);
Prototype for a predicate function that takes a pointer and some
user-provided data, and returns either TRUE or FALSE.
It can be used with gx_list_filter() and gx_list_filter_in_place().
gboolean
gx_is_even (gint i);
Predicate function that returns TRUE if i
is an even number, FALSE
otherwise. An even number is a number that is divisible by 2.
1 2 |
g_assert_cmpuint (gx_is_even (2),==, TRUE); g_assert_cmpuint (gx_is_even (3),==, FALSE); |
gboolean
gx_is_odd (gint i);
Predicate function that returns TRUE if i
is an odd number, FALSE
otherwise. An odd number is a number that is not divisible by 2.
gboolean
gx_is_prime (gint i);
Predicate function that returns TRUE if i is a prime number, FALSE
otherwise. A prime number is a positive number that is only divisible by
itself and 1.
1 2 |
g_assert_cmpuint (gx_is_prime (13),==, TRUE); g_assert_cmpuint (gx_is_prime (52),==, FALSE); |
gboolean gx_is_str_equal (const char *s1,const char *s2);
Predicate function that returns TRUE if the strings are equal; FALSE
otherwise. Safe for NULL strings.
1 2 |
g_assert_true (gx_is_str_equal ("foo", "foo")); g_assert_false (gx_is_str_equal ("foo", "bar")); |