FilterForEachIterator< FILTER, I > Class Template Reference

#include <foreach.h>

Inheritance diagram for FilterForEachIterator< FILTER, I >:

Public Types

using ValueType = decltype(*std::declval< I >())
 
using Iterator = I
 
- Public Types inherited from ForEachIterator< FilterForEachIterator< FILTER, I > >
using IsForEachIterator = std::true_type
 

Public Member Functions

 FilterForEachIterator ()=default
 
MAXON_ATTRIBUTE_FORCE_INLINE FilterForEachIterator (I &&it, FILTER &&filter)
 
MAXON_ATTRIBUTE_FORCE_INLINE FilterForEachIterator (const I &it, FILTER &&filter)
 
MAXON_ATTRIBUTE_FORCE_INLINE FilterForEachIterator (FilterForEachIterator &&src)
 
 FilterForEachIterator (const FilterForEachIterator &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 std::remove_reference< ValueType >::typeoperator-> () const
 
- Public Member Functions inherited from ForEachIterator< FilterForEachIterator< FILTER, I > >
MAXON_ATTRIBUTE_FORCE_INLINE ForEachIterator (ARGS &&... args)
 
String ToString (const FormatStatement *formatStatement=nullptr)
 
FilterForEachIterator< FILTER, I > & 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 Member Functions

void Validate ()
 

Private Attributes

_iterator
 
FILTER _filter
 

Additional Inherited Members

- Static Public Member Functions inherited from ForEachIterator< FilterForEachIterator< FILTER, I > >
static MAXON_ATTRIBUTE_FORCE_INLINE PRIVATE_MAXON_RBF_SENTINEL (Wrapper) end()
 

Member Typedef Documentation

◆ ValueType

using ValueType = decltype(*std::declval<I>())

◆ Iterator

using Iterator = I

Constructor & Destructor Documentation

◆ FilterForEachIterator() [1/5]

FilterForEachIterator ( )
default

◆ FilterForEachIterator() [2/5]

MAXON_ATTRIBUTE_FORCE_INLINE FilterForEachIterator ( I &&  it,
FILTER &&  filter 
)

◆ FilterForEachIterator() [3/5]

MAXON_ATTRIBUTE_FORCE_INLINE FilterForEachIterator ( const I &  it,
FILTER &&  filter 
)

◆ FilterForEachIterator() [4/5]

◆ FilterForEachIterator() [5/5]

FilterForEachIterator ( const FilterForEachIterator< FILTER, I > &  src)
default

Member Function Documentation

◆ operator Bool()

MAXON_ATTRIBUTE_FORCE_INLINE operator Bool ( ) const
explicit

◆ operator++()

MAXON_ATTRIBUTE_FORCE_INLINE void operator++ ( )

◆ operator*()

◆ operator->()

MAXON_ATTRIBUTE_FORCE_INLINE std::remove_reference<ValueType>::type* operator-> ( ) const

◆ Validate()

void Validate ( )
private

Member Data Documentation

◆ _iterator

I _iterator
private

◆ _filter

FILTER _filter
private