|
LLVM 22.0.0git
|
Iterator wrapper that concatenates sequences together. More...
#include "llvm/ADT/STLExtras.h"
Public Member Functions | |
| template<typename... RangeTs> | |
| concat_iterator (RangeTs &&...Ranges) | |
| Constructs an iterator from a sequence of ranges. | |
| concat_iterator & | operator++ () |
| reference_type | operator* () const |
| bool | operator== (const concat_iterator &RHS) const |
| Public Member Functions inherited from llvm::iterator_facade_base< concat_iterator< ValueT, IterTs... >, std::forward_iterator_tag, ValueT > | |
| concat_iterator< ValueT, IterTs... > | operator+ (std::ptrdiff_t n) const |
| concat_iterator< ValueT, IterTs... > | operator- (std::ptrdiff_t n) const |
| concat_iterator< ValueT, IterTs... > & | operator++ () |
| concat_iterator< ValueT, IterTs... > & | operator-- () |
| bool | operator!= (const concat_iterator< ValueT, IterTs... > &RHS) const |
| bool | operator> (const concat_iterator< ValueT, IterTs... > &RHS) const |
| bool | operator<= (const concat_iterator< ValueT, IterTs... > &RHS) const |
| bool | operator>= (const concat_iterator< ValueT, IterTs... > &RHS) const |
| PointerProxy | operator-> () const |
| ReferenceProxy | operator[] (std::ptrdiff_t n) const |
Additional Inherited Members | |
| Public Types inherited from llvm::iterator_facade_base< concat_iterator< ValueT, IterTs... >, std::forward_iterator_tag, ValueT > | |
| using | iterator_category |
| using | value_type |
| using | difference_type |
| using | pointer |
| using | reference |
| Protected Types inherited from llvm::iterator_facade_base< concat_iterator< ValueT, IterTs... >, std::forward_iterator_tag, ValueT > | |
| enum | |
Iterator wrapper that concatenates sequences together.
This can concatenate different iterators, even with different types, into a single iterator provided the value types of all the concatenated iterators expose reference and pointer types that can be converted to ValueT & and ValueT * respectively. It doesn't support more interesting/customized pointer or reference types.
Currently this only supports forward or higher iterator categories as inputs and always exposes a forward iterator interface.
Definition at line 997 of file STLExtras.h.
|
inlineexplicit |
Constructs an iterator from a sequence of ranges.
We need the full range to know how to switch between each of the iterators.
Definition at line 1073 of file STLExtras.h.
|
inline |
Definition at line 1083 of file STLExtras.h.
|
inline |
Definition at line 1078 of file STLExtras.h.
|
inline |
Definition at line 1087 of file STLExtras.h.