Lines Matching full:iterator

1 // Safe iterator implementation  -*- C++ -*-
56 /** \brief Safe iterator wrapper.
59 * iterator that tracks the iterator's movement among sequences and
60 * checks that operations performed on the "safe" iterator are
61 * legal. In additional to the basic iterator operations (which are
62 * validated, and then passed to the underlying iterator),
63 * %_Safe_iterator has member functions for iterator invalidation,
64 * attaching/detaching the iterator from sequences, and querying
65 * the iterator's state.
77 __dp_equality, //< Can compare iterator equality, only
82 /// The underlying iterator
85 /// Determine if this is a constant iterator.
103 /// @post the iterator is singular and unattached
107 * @brief Safe iterator construction from an unsafe iterator and
135 * @brief Converting constructor from a mutable iterator to a
136 * constant iterator.
144 typename _Sequence::iterator::_Base_iterator>::__value), in _Safe_iterator()
171 * @brief Iterator dereference.
172 * @pre iterator is dereferenceable
185 * @brief Iterator dereference.
186 * @pre iterator is dereferenceable
199 // ------ Input iterator requirements ------
201 * @brief Iterator preincrement
202 * @pre iterator is incrementable
215 * @brief Iterator postincrement
216 * @pre iterator is incrementable
229 // ------ Bidirectional iterator requirements ------
231 * @brief Iterator predecrement
232 * @pre iterator is decrementable
245 * @brief Iterator postdecrement
246 * @pre iterator is decrementable
259 // ------ Random access iterator requirements ------
309 * @brief Return the underlying iterator
315 * @brief Conversion to underlying non-debug iterator to allow
320 /** Attach iterator to the given sequence. */
336 /** Invalidate the iterator, making it singular. */
344 /// Is the iterator dereferenceable?
349 /// Is the iterator incrementable?
353 // Is the iterator decrementable?
357 // Can we advance the iterator @p __n steps (@p __n may be negative)
361 // Is the iterator range [*this, __rhs) valid?
366 // The sequence this iterator references.
400 /// Is this iterator equal to the sequence's begin() iterator?
404 /// Is this iterator equal to the sequence's end() iterator?
603 // operators but also operator- must accept mixed iterator/const_iterator