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")); |