241 * @param iter the iterator |
233 * @param iter the iterator |
242 */ |
234 */ |
243 #define cxIteratorNext(iter) (iter).base.next(&iter) |
235 #define cxIteratorNext(iter) (iter).base.next(&iter) |
244 |
236 |
245 /** |
237 /** |
246 * Flags the current element for removal. |
238 * Flags the current element for removal, if this iterator is mutating. |
247 * |
239 * |
248 * @param iter the iterator |
240 * @param iter the iterator |
249 * @return false if this iterator cannot remove the element |
241 */ |
250 */ |
242 #define cxIteratorFlagRemoval(iter) (iter).base.remove |= (iter).base.mutating |
251 #define cxIteratorFlagRemoval(iter) (iter).base.flag_removal(&iter) |
|
252 |
243 |
253 /** |
244 /** |
254 * Loops over an iterator. |
245 * Loops over an iterator. |
255 * @param type the type of the elements |
246 * @param type the type of the elements |
256 * @param elem the name of the iteration variable |
247 * @param elem the name of the iteration variable |