189 * Flags the current element for removal, if this iterator is mutating. |
190 * Flags the current element for removal, if this iterator is mutating. |
190 * |
191 * |
191 * @param iter the iterator |
192 * @param iter the iterator |
192 */ |
193 */ |
193 #define cxIteratorFlagRemoval(iter) (iter).base.remove |= (iter).base.mutating |
194 #define cxIteratorFlagRemoval(iter) (iter).base.remove |= (iter).base.mutating |
|
195 |
|
196 /** |
|
197 * Obtains a reference to an arbitrary iterator. |
|
198 * |
|
199 * This is useful for APIs that expect some iterator as an argument. |
|
200 * |
|
201 * @param iter the iterator |
|
202 */ |
|
203 #define cxIteratorRef(iter) &((iter).base) |
194 |
204 |
195 /** |
205 /** |
196 * Loops over an iterator. |
206 * Loops over an iterator. |
197 * @param type the type of the elements |
207 * @param type the type of the elements |
198 * @param elem the name of the iteration variable |
208 * @param elem the name of the iteration variable |