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 419 of file itertools.hpp.
Public Member Functions | |
template<typename PRED > | |
ExtensibleFilterIter (IT &&src, PRED initialFilterPredicate) | |
Public Member Functions inherited from FilterIter< IT > | |
template<typename PRED > | |
FilterIter (IT const &src, PRED filterPredicate) | |
template<typename PRED > | |
FilterIter (IT &&src, PRED filterPredicate) | |
Public Member Functions inherited from IterTool< FilterCore< IT > > | |
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 | |
Public Types inherited from IterTool< FilterCore< IT > > | |
typedef FilterCore< IT > ::pointer | pointer |
typedef FilterCore< IT > ::reference | reference |
typedef FilterCore< IT > ::value_type | value_type |
Static Public Member Functions inherited from FilterIter< IT > | |
static bool | acceptAll (typename _Filter::Val) |
Protected Member Functions inherited from IterTool< FilterCore< IT > > | |
void | _maybe_throw () const |
bool | hasData () const |
bool | iterate () |
Protected Attributes inherited from IterTool< FilterCore< IT > > | |
FilterCore< IT > | core_ |