![]() |
Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/itertools.hpp"
Additional capabilities for FilterIter, allowing to extend the filter condition underway.
This wrapper enables remoulding of the filer functor while in the middle of iteration. When the filter is modified, current head of iteration gets re-evaluated and possible fast-forwarded to the next element satisfying the now extended filter condition.
Definition at line 410 of file itertools.hpp.
Public Member Functions | |
template<typename PRED > | |
ExtensibleFilterIter (IT &&src, PRED initialFilterPredicate) | |
![]() | |
template<typename PRED > | |
FilterIter (IT const &src, PRED filterPredicate) | |
template<typename PRED > | |
FilterIter (IT &&src, PRED filterPredicate) | |
![]() | |
IterTool (FilterCore< IT > &&setup) | |
bool | empty () const |
bool | isValid () const |
operator bool () const | |
reference | operator* () const |
IterTool & | operator++ () |
pointer | operator-> () const |
Private Types | |
using | _Filter = FilterCore< IT > |
using | Val = typename _Filter::Val |
Private Member Functions | |
void | reEvaluate () |
Additional Inherited Members | |
![]() | |
typedef FilterCore< IT > ::pointer | pointer |
typedef FilterCore< IT > ::reference | reference |
typedef FilterCore< IT > ::value_type | value_type |
![]() | |
static bool | acceptAll (typename _Filter::Val) |
![]() | |
void | _maybe_throw () const |
bool | hasData () const |
bool | iterate () |
![]() | |
FilterCore< IT > | core_ |