LLVM: llvm::early_inc_iterator_impl< WrappedIteratorT > Class Template Reference (original) (raw)
A pseudo-iterator adaptor that is designed to implement "early increment" style loops. More...
template<typename WrappedIteratorT>
class llvm::early_inc_iterator_impl< WrappedIteratorT >
A pseudo-iterator adaptor that is designed to implement "early increment" style loops.
This is not a normal iterator and should almost never be used directly. It is intended primarily to be used with range based for loops and some range algorithms.
The iterator isn't quite an OutputIterator or an InputIterator but somewhere between them. The constraints of these iterators are:
- On construction or after being incremented, it is comparable and dereferencable. It is not incrementable.
- After being dereferenced, it is neither comparable nor dereferencable, it is only incrementable.
This means you can only dereference the iterator once, and you can only increment it once between dereferences.
Definition at line 576 of file STLExtras.h.