src/ucx/cx/iterator.h

changeset 490
d218607f5a7e
parent 438
22eca559aded
child 504
c094afcdfb27
equal deleted inserted replaced
489:921f83a8943f 490:d218607f5a7e
54 */ 54 */
55 __attribute__ ((__nonnull__)) 55 __attribute__ ((__nonnull__))
56 void *(*current)(void const *); 56 void *(*current)(void const *);
57 57
58 /** 58 /**
59 * Original implementation in case the function needs to be wrapped.
60 */
61 __attribute__ ((__nonnull__))
62 void *(*current_impl)(void const *);
63
64 /**
59 * Advances the iterator. 65 * Advances the iterator.
60 */ 66 */
61 __attribute__ ((__nonnull__)) 67 __attribute__ ((__nonnull__))
62 void (*next)(void *); 68 void (*next)(void *);
63 69
66 */ 72 */
67 __attribute__ ((__nonnull__)) 73 __attribute__ ((__nonnull__))
68 bool (*flag_removal)(void *); 74 bool (*flag_removal)(void *);
69 75
70 /** 76 /**
71 * Indicates whether this iterator is muting. 77 * Indicates whether this iterator may remove elements.
72 */ 78 */
73 bool mutating; 79 bool mutating;
74 80
75 /** 81 /**
76 * Internal flag for removing the current element when advancing. 82 * Internal flag for removing the current element when advancing.

mercurial