#include <foreach.h>

ConditionalForEachIterator implements the foreach-protocol such that it iterates either completely over a first foreach iterator or completely over a second foreach iterator, depending on a Bool value.
| 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< ConditionalForEachIterator< T, I1, I2 > > | |
| using | IsForEachIterator = std::true_type |
Private Attributes | |
| const Bool | _select |
| I1 | _first |
| I2 | _second |
Additional Inherited Members | |
Static Public Member Functions inherited from ForEachIterator< ConditionalForEachIterator< 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 |
| ConditionalForEachIterator | ( | Bool | sel, |
| I1 && | it1, | ||
| I2 && | it2 | ||
| ) |
| ConditionalForEachIterator | ( | Bool | sel, |
| const I1 & | it1, | ||
| I2 && | it2 | ||
| ) |
| ConditionalForEachIterator | ( | Bool | sel, |
| I1 && | it1, | ||
| const I2 & | it2 | ||
| ) |
| ConditionalForEachIterator | ( | Bool | sel, |
| const I1 & | it1, | ||
| const I2 & | it2 | ||
| ) |
| MAXON_ATTRIBUTE_FORCE_INLINE ConditionalForEachIterator | ( | ConditionalForEachIterator< 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 |
| I1& GetFirst | ( | ) |
| I2& GetSecond | ( | ) |
|
private |
|
private |
|
private |