A pseudo‐iterator adaptor that is designed to implement "early increment" style loops.
Synopsis
Declared in <llvm/ADT/STLExtras.h>
template<typename WrappedIteratorT>
class early_inc_iterator_impl
: public iterator_adaptor_base<early_inc_iterator_impl<WrappedIteratorT>, WrappedIteratorT, std::input_iterator_tag>
Description
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.
Base Classes
Name |
Description |
CRTP base class for adapting an iterator to a different type. |
Type Aliases
Name |
Description |
Signed type used to express the distance between iterators. |
|
Iterator category tag for this facade. |
|
Pointer type returned by the iterator. |
|
Reference type returned by the iterator. |
|
Value type produced by the iterator. |
Enums
Name |
Description |
Capability flags for the iterator category. |
Member Functions
Name |
Description |
|
Construct an early‐increment iterator at position |
Dereference operators |
|
Advance the iterator by |
|
Increment operators |
|
Advance the wrapped iterator by |
|
Subtraction operators |
|
Decrement operators |
|
Retreat the wrapped iterator by |
|
Return a proxy pointer to the current element. |
|
Return a proxy to the element at offset |
|
Return true if this iterator is less than or equal to |
|
Return true if this iterator is greater than |
|
Return true if this iterator is greater than or equal to |
Using Declarations
Name |
Description |
Bring the const dereference operator into scope. |
|
Bring the postfix increment operator into scope. |
|
Bring the offset‐subtraction operator from the facade into scope. |
|
Bring the postfix decrement operator into scope. |
Protected Types
Name |
Description |
Proxy that yields a pointer from a copied reference. |
|
Proxy that yields a reference from a copied iterator. |
Protected Member Functions
Name |
Description |
Return the wrapped underlying iterator. |
Protected Data Members
Name |
Description |
Wrapped underlying iterator. |
Friends
Name |
Description |
Compare two early‐increment iterators by underlying position. |
Non-Member Functions
Name |
Description |
Make a range that does early increment to allow mutation of the underlying range without disrupting iteration. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Compare two adapted iterators for order. |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
|
Return true if |
Created with MrDocs