src/cx/iterator.h

changeset 740
378578666c83
parent 704
35f06c5eeb0e
child 759
475335643af4
equal deleted inserted replaced
739:529c35a768f3 740:378578666c83
202 size_t index; 202 size_t index;
203 }; 203 };
204 204
205 /** 205 /**
206 * Iterator value type. 206 * Iterator value type.
207 * An iterator points to a certain element in an (possibly unbounded) chain of elements. 207 * An iterator points to a certain element in a (possibly unbounded) chain of elements.
208 * Iterators that are based on collections (which have a defined "first" element), are supposed 208 * Iterators that are based on collections (which have a defined "first" element), are supposed
209 * to be "position-aware", which means that they keep track of the current index within the collection. 209 * to be "position-aware", which means that they keep track of the current index within the collection.
210 * 210 *
211 * @note Objects that are pointed to by an iterator are always mutable through that iterator. However, 211 * @note Objects that are pointed to by an iterator are always mutable through that iterator. However,
212 * this iterator cannot mutate the collection itself (add or remove elements) and any mutation of the 212 * this iterator cannot mutate the collection itself (add or remove elements) and any mutation of the
213 * collection by other means make this iterator invalid (regardless of what cxIteratorValid() returns). 213 * collection by other means makes this iterator invalid (regardless of what cxIteratorValid() returns).
214 * 214 *
215 * @see CxMutIterator 215 * @see CxMutIterator
216 */ 216 */
217 typedef struct cx_iterator_s CxIterator; 217 typedef struct cx_iterator_s CxIterator;
218 218

mercurial