src/cx/iterator.h

changeset 704
35f06c5eeb0e
parent 695
eb1884a8b096
child 740
378578666c83
equal deleted inserted replaced
703:425d4279856f 704:35f06c5eeb0e
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 /**

mercurial