#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-> | ( | void | ) | const | 
| I1& GetFirst | ( | ) | 
| I2& GetSecond | ( | ) | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private |