LLVM
8.0.1
|
A pseudo-iterator adaptor that is designed to implement "early increment" style loops. More...
#include "llvm/ADT/STLExtras.h"
Public Member Functions | |
early_inc_iterator_impl (WrappedIteratorT I) | |
BaseT::reference | operator* () |
early_inc_iterator_impl & | operator++ () |
bool | operator== (const early_inc_iterator_impl &RHS) const |
Public Member Functions inherited from llvm::iterator_adaptor_base< early_inc_iterator_impl< WrappedIteratorT >, WrappedIteratorT, std::input_iterator_tag > | |
early_inc_iterator_impl< WrappedIteratorT > & | operator+= (difference_type n) |
early_inc_iterator_impl< WrappedIteratorT > & | operator-= (difference_type n) |
difference_type | operator- (const early_inc_iterator_impl< WrappedIteratorT > &RHS) const |
early_inc_iterator_impl< WrappedIteratorT > & | operator++ () |
early_inc_iterator_impl< WrappedIteratorT > & | operator-- () |
bool | operator== (const early_inc_iterator_impl< WrappedIteratorT > &RHS) const |
bool | operator< (const early_inc_iterator_impl< WrappedIteratorT > &RHS) const |
typename std::conditional< std::is_same< typename std::iterator_traits< WrappedIteratorT >::value_type, typename std::iterator_traits< WrappedIteratorT >::value_type >::value, typename std::iterator_traits< WrappedIteratorT >::reference, typename std::iterator_traits< WrappedIteratorT >::value_type & >::type | operator* () const |
Public Member Functions inherited from llvm::iterator_facade_base< early_inc_iterator_impl< WrappedIteratorT >, std::input_iterator_tag, typename std::iterator_traits< WrappedIteratorT >::value_type, typename std::iterator_traits< WrappedIteratorT >::difference_type, typename std::conditional< std::is_same< typename std::iterator_traits< WrappedIteratorT >::value_type, typename std::iterator_traits< WrappedIteratorT >::value_type >::value, typename std::iterator_traits< WrappedIteratorT >::pointer, typename std::iterator_traits< WrappedIteratorT >::value_type * >::type, typename std::conditional< std::is_same< typename std::iterator_traits< WrappedIteratorT >::value_type, typename std::iterator_traits< WrappedIteratorT >::value_type >::value, typename std::iterator_traits< WrappedIteratorT >::reference, typename std::iterator_traits< WrappedIteratorT >::value_type & >::type > | |
early_inc_iterator_impl< WrappedIteratorT > | operator+ (typename std::iterator_traits< WrappedIteratorT >::difference_type n) const |
early_inc_iterator_impl< WrappedIteratorT > | operator- (typename std::iterator_traits< WrappedIteratorT >::difference_type n) const |
early_inc_iterator_impl< WrappedIteratorT > & | operator++ () |
early_inc_iterator_impl< WrappedIteratorT > | operator++ (int) |
early_inc_iterator_impl< WrappedIteratorT > & | operator-- () |
early_inc_iterator_impl< WrappedIteratorT > | operator-- (int) |
bool | operator!= (const early_inc_iterator_impl< WrappedIteratorT > &RHS) const |
bool | operator> (const early_inc_iterator_impl< WrappedIteratorT > &RHS) const |
bool | operator<= (const early_inc_iterator_impl< WrappedIteratorT > &RHS) const |
bool | operator>= (const early_inc_iterator_impl< WrappedIteratorT > &RHS) const |
typename std::conditional< std::is_same< typename std::iterator_traits< WrappedIteratorT >::value_type, typename std::iterator_traits< WrappedIteratorT >::value_type >::value, typename std::iterator_traits< WrappedIteratorT >::pointer, typename std::iterator_traits< WrappedIteratorT >::value_type *>::type | operator-> () |
typename std::conditional< std::is_same< typename std::iterator_traits< WrappedIteratorT >::value_type, typename std::iterator_traits< WrappedIteratorT >::value_type >::value, typename std::iterator_traits< WrappedIteratorT >::pointer, typename std::iterator_traits< WrappedIteratorT >::value_type *>::type | operator-> () const |
ReferenceProxy | operator[] (typename std::iterator_traits< WrappedIteratorT >::difference_type n) |
ReferenceProxy | operator[] (typename std::iterator_traits< WrappedIteratorT >::difference_type n) const |
Protected Attributes | |
bool | IsEarlyIncremented = false |
Protected Attributes inherited from llvm::iterator_adaptor_base< early_inc_iterator_impl< WrappedIteratorT >, WrappedIteratorT, std::input_iterator_tag > | |
WrappedIteratorT | I |
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:
This means you can only dereference the iterator once, and you can only increment it once between dereferences.
Definition at line 456 of file STLExtras.h.
|
inline |
Definition at line 471 of file STLExtras.h.
|
inline |
Definition at line 474 of file STLExtras.h.
|
inline |
Definition at line 483 of file STLExtras.h.
References assert().
|
inline |
Definition at line 492 of file STLExtras.h.
References assert(), and llvm::operator==().
|
protected |
Definition at line 467 of file STLExtras.h.