ConcatForEachIterator< T, I1, I2 > Class Template Reference

#include <foreach.h>

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

Detailed Description

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

ConcatForEachIterator implements the foreach-protocol such that it iterates completely over a first foreach iterator and afterwards completely over a second foreach iterator.

Template Parameters
TThe type of values to iterate over.
I1The type of the first iterator.
I2The type of the second iterator.
See also
Iterable

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::ValueTypeNoRefoperator-> () const
 
- Public Member Functions inherited from ForEachIterator< ConcatForEachIterator< T, I1, I2 > >
MAXON_ATTRIBUTE_FORCE_INLINE ForEachIterator (ARGS &&... args)
 
String ToString (const FormatStatement *formatStatement)
 
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()
 

Member Typedef Documentation

◆ First

using First = I1

◆ Second

using Second = I2

◆ Types

using Types = CommonIteratorTypes<T, I1, I2>

◆ ValueType

using ValueType = typename Types::ValueType

Constructor & Destructor Documentation

◆ ConcatForEachIterator() [1/6]

ConcatForEachIterator ( I1 &&  it1,
I2 &&  it2 
)

◆ ConcatForEachIterator() [2/6]

ConcatForEachIterator ( const I1 &  it1,
I2 &&  it2 
)

◆ ConcatForEachIterator() [3/6]

ConcatForEachIterator ( I1 &&  it1,
const I2 &  it2 
)

◆ ConcatForEachIterator() [4/6]

ConcatForEachIterator ( const I1 &  it1,
const I2 &  it2 
)

◆ ConcatForEachIterator() [5/6]

◆ ConcatForEachIterator() [6/6]

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

Member Function Documentation

◆ operator Bool()

MAXON_ATTRIBUTE_FORCE_INLINE operator Bool ( ) const
explicit

◆ operator++()

MAXON_ATTRIBUTE_FORCE_INLINE void operator++ ( )

◆ operator*()

◆ operator->()

Member Data Documentation

◆ _first

I1 _first
private

◆ _second

I2 _second
private