#include <foreach.h>

ConcatForEachIterator implements the foreach-protocol such that it iterates completely over a first foreach iterator and afterwards completely over a second foreach iterator.
| T | The type of values to iterate over. |
| I1 | The type of the first iterator. |
| I2 | The type of the second iterator. |
Public Types | |
| using | First = I1 |
| using | Second = I2 |
| using | Types = CommonIteratorTypes< T, I1, I2 > |
| using | ValueType = typename Types::ValueType |
Public Types inherited from ForEachIterator< ConcatForEachIterator< T, I1, I2 > > | |
| using | IsForEachIterator = std::true_type |
Public Member Functions | |
| ConcatForEachIterator (I1 &&it1, I2 &&it2) | |
| ConcatForEachIterator (const I1 &it1, I2 &&it2) | |
| ConcatForEachIterator (I1 &&it1, const I2 &it2) | |
| ConcatForEachIterator (const I1 &it1, const I2 &it2) | |
| MAXON_ATTRIBUTE_FORCE_INLINE | ConcatForEachIterator (ConcatForEachIterator &&src) |
| ConcatForEachIterator (const ConcatForEachIterator &src)=default | |
| MAXON_ATTRIBUTE_FORCE_INLINE | operator Bool () const |
| MAXON_ATTRIBUTE_FORCE_INLINE void | operator++ () |
| MAXON_ATTRIBUTE_FORCE_INLINE ValueType | operator* () const |
| MAXON_ATTRIBUTE_FORCE_INLINE Types::ValueTypeNoRef * | operator-> () const |
Public Member Functions inherited from ForEachIterator< ConcatForEachIterator< T, I1, I2 > > | |
| MAXON_ATTRIBUTE_FORCE_INLINE | ForEachIterator (ARGS &&... args) |
| String | ToString (const FormatStatement *formatStatement=nullptr) |
| ConcatForEachIterator< T, I1, I2 > & | Find (const T &v) |
| Int | FindIndex (const T &v) |
| MAXON_ATTRIBUTE_FORCE_INLINE Bool | Contains (const T &v) |
| MAXON_ATTRIBUTE_FORCE_INLINE Wrapper | begin () |
Private Attributes | |
| I1 | _first |
| I2 | _second |
Additional Inherited Members | |
Static Public Member Functions inherited from ForEachIterator< ConcatForEachIterator< T, I1, I2 > > | |
| static MAXON_ATTRIBUTE_FORCE_INLINE | PRIVATE_MAXON_RBF_SENTINEL (Wrapper) end() |
| using First = I1 |
| using Second = I2 |
| using Types = CommonIteratorTypes<T, I1, I2> |
| using ValueType = typename Types::ValueType |
| ConcatForEachIterator | ( | I1 && | it1, |
| I2 && | it2 | ||
| ) |
| ConcatForEachIterator | ( | const I1 & | it1, |
| I2 && | it2 | ||
| ) |
| ConcatForEachIterator | ( | I1 && | it1, |
| const I2 & | it2 | ||
| ) |
| ConcatForEachIterator | ( | const I1 & | it1, |
| const I2 & | it2 | ||
| ) |
| MAXON_ATTRIBUTE_FORCE_INLINE ConcatForEachIterator | ( | ConcatForEachIterator< T, I1, I2 > && | src | ) |
|
default |
|
explicit |
| MAXON_ATTRIBUTE_FORCE_INLINE void operator++ | ( | ) |
| MAXON_ATTRIBUTE_FORCE_INLINE ValueType operator* | ( | ) | const |
| MAXON_ATTRIBUTE_FORCE_INLINE Types::ValueTypeNoRef* operator-> | ( | ) | const |
|
private |
|
private |