WPILibC++
2019.2.1-1-g453a904
|
Iterator wrapper that concatenates sequences together. More...
#include <STLExtras.h>
Public Member Functions | |
template<typename... RangeTs> | |
concat_iterator (RangeTs &&...Ranges) | |
Constructs an iterator from a squence of ranges. More... | |
concat_iterator & | operator++ () |
ValueT & | operator* () const |
bool | operator== (const concat_iterator &RHS) const |
![]() | |
concat_iterator< ValueT, IterTs...> | operator+ (DifferenceTypeT n) const |
concat_iterator< ValueT, IterTs...> | operator- (DifferenceTypeT n) const |
concat_iterator< ValueT, IterTs...> & | operator++ () |
concat_iterator< ValueT, IterTs...> | operator++ (int) |
concat_iterator< ValueT, IterTs...> & | operator-- () |
concat_iterator< ValueT, IterTs...> | operator-- (int) |
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 |
PointerT | operator-> () |
PointerT | operator-> () const |
ReferenceProxy | operator[] (DifferenceTypeT n) |
ReferenceProxy | operator[] (DifferenceTypeT n) const |
Additional Inherited Members | |
![]() | |
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.
|
inlineexplicit |
Constructs an iterator from a squence of ranges.
We need the full range to know how to switch between each of the iterators.