ConditionalForEachIterator< T, I1, I2 > Class Template Reference Data Structures

#include <foreach.h>

Inheritance diagram for ConditionalForEachIterator< T, I1, I2 >:

详细描述

template<typename T, typename I1, typename I2>
class maxon::ConditionalForEachIterator< T, I1, I2 >

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.

Template Parameters
T The type of values to iterate over.
I1 The type of the first iterator.
I2 The type of the second iterator.
另请参阅
Iterable

Public Types

using  First = I1
using  Second = I2
using  类型 = CommonIteratorTypes < T, I1, I2 >
using  ValueType = typename Types::ValueType
-  Public Types inherited from ForEachIterator< ConditionalForEachIterator< T, I1, I2 > >
using  IsForEachIterator = std::true_type

公共成员函数

  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 && src )
  ConditionalForEachIterator (const ConditionalForEachIterator & 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
I1 &  GetFirst ()
I2 &  GetSecond ()
-  Public Member Functions inherited from ForEachIterator< ConditionalForEachIterator< T, I1, I2 > >
MAXON_ATTRIBUTE_FORCE_INLINE   ForEachIterator (ARGS &&... args)
String   ToString (const FormatStatement *formatStatement=nullptr)
ConditionalForEachIterator < 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

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()

Member Typedef Documentation

◆  First

using First = I1

◆  Second

using Second = I2

◆  类型

using 类型 = CommonIteratorTypes <T, I1, I2>

◆  ValueType

using ValueType = typename Types::ValueType

构造函数 & 析构函数文档编制

◆  ConditionalForEachIterator() [1/6]

ConditionalForEachIterator ( Bool   sel ,
I1 &&  it1 ,
I2 &&  it2  
)

◆  ConditionalForEachIterator() [2/6]

ConditionalForEachIterator ( Bool   sel ,
const I1 &  it1 ,
I2 &&  it2  
)

◆  ConditionalForEachIterator() [3/6]

ConditionalForEachIterator ( Bool   sel ,
I1 &&  it1 ,
const I2 &  it2  
)

◆  ConditionalForEachIterator() [4/6]

ConditionalForEachIterator ( Bool   sel ,
const I1 &  it1 ,
const I2 &  it2  
)

◆  ConditionalForEachIterator() [5/6]

MAXON_ATTRIBUTE_FORCE_INLINE ConditionalForEachIterator ( ConditionalForEachIterator < T, I1, I2 > &&  src )

◆  ConditionalForEachIterator() [6/6]

ConditionalForEachIterator ( const ConditionalForEachIterator < T, I1, I2 > &  src )
default

成员函数文档编制

◆  operator Bool()

MAXON_ATTRIBUTE_FORCE_INLINE operator Bool ( ) const
explicit

◆  operator++()

MAXON_ATTRIBUTE_FORCE_INLINE void operator++ ( )

◆  operator*()

MAXON_ATTRIBUTE_FORCE_INLINE ValueType operator* ( ) const

◆  operator->()

MAXON_ATTRIBUTE_FORCE_INLINE Types::ValueTypeNoRef * operator-> ( ) const

◆  GetFirst()

I1& GetFirst ( )

◆  GetSecond()

I2& GetSecond ( )

Member Data Documentation

◆  _select

const Bool _select
private

◆  _first

I1 _first private

◆  _second

I2 _second private