#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 |