49 __attribute__ ((__nonnull__)) |
49 __attribute__ ((__nonnull__)) |
50 bool (*valid)(void const *); |
50 bool (*valid)(void const *); |
51 |
51 |
52 /** |
52 /** |
53 * Returns a pointer to the current element. |
53 * Returns a pointer to the current element. |
|
54 * |
|
55 * When valid returns false, the behavior of this function is undefined. |
54 */ |
56 */ |
55 __attribute__ ((__nonnull__)) |
57 __attribute__ ((__nonnull__)) |
56 void *(*current)(void const *); |
58 void *(*current)(void const *); |
57 |
59 |
58 /** |
60 /** |
61 __attribute__ ((__nonnull__)) |
63 __attribute__ ((__nonnull__)) |
62 void *(*current_impl)(void const *); |
64 void *(*current_impl)(void const *); |
63 |
65 |
64 /** |
66 /** |
65 * Advances the iterator. |
67 * Advances the iterator. |
|
68 * |
|
69 * When valid returns false, the behavior of this function is undefined. |
66 */ |
70 */ |
67 __attribute__ ((__nonnull__)) |
71 __attribute__ ((__nonnull__)) |
68 void (*next)(void *); |
72 void (*next)(void *); |
69 |
73 |
70 /** |
74 /** |
71 * Flag current element for removal, if possible. |
75 * Flag current element for removal, if possible. |
|
76 * |
|
77 * When valid returns false, the behavior of this function is undefined. |
72 */ |
78 */ |
73 __attribute__ ((__nonnull__)) |
79 __attribute__ ((__nonnull__)) |
74 bool (*flag_removal)(void *); |
80 bool (*flag_removal)(void *); |
75 |
81 |
76 /** |
82 /** |