Lumiera  0.pre.03
CombinedIteratorEvaluation< SRC, FUN, _EXP_ > Class Template Reference

#include "lib/iter-explorer.hpp"


template<class SRC, class FUN, template< class > class _EXP_ = ExploreByFunction>
class lib::iter_explorer::CombinedIteratorEvaluation< SRC, FUN, _EXP_ >

Building block: evaluate and combine a sequence of iterators.

This implementation helper provides two kinds of "buffers" (actually implemented as iterators): A result buffer (iterator) which holds a sequence of already prepared result elements, which can be retrieved through iteration right away. And a supply buffer (iterator) holding raw source elements. When the result buffer is exhausted, the next source element will be pulled from there and fed through the "evaluation strategy", which typically is a function processing the source element and producing a new result buffer (iterator).

Definition at line 320 of file iter-explorer.hpp.

Public Types

typedef ResultIter::pointer pointer
typedef ResultIter::reference reference
typedef ResultIter::value_type value_type

Public Member Functions

 CombinedIteratorEvaluation ()
 CombinedIteratorEvaluation (FUN explorerFunction)
bool checkPoint () const
void iterNext ()
void setSourceSequence (SRC const &followUpSourceElements)
reference yield () const

Private Types

typedef _EXP_< ResultIter(SrcElement)> Explorer
typedef _Fun< FUN >::Ret ResultIter
typedef SRC::value_type SrcElement

Private Member Functions

bool findNextResultElement ()

Private Attributes

Explorer explorer_
ResultIter results_
SRC srcSeq_

Member Typedef Documentation

◆ ResultIter

typedef _Fun<FUN>::Ret ResultIter

Definition at line 322 of file iter-explorer.hpp.

◆ SrcElement

typedef SRC::value_type SrcElement

Definition at line 323 of file iter-explorer.hpp.

◆ Explorer

typedef _EXP_<ResultIter(SrcElement)> Explorer

Definition at line 324 of file iter-explorer.hpp.

◆ value_type

typedef ResultIter::value_type value_type

Definition at line 332 of file iter-explorer.hpp.

◆ reference

typedef ResultIter::reference reference

Definition at line 333 of file iter-explorer.hpp.

◆ pointer

typedef ResultIter::pointer pointer

Definition at line 334 of file iter-explorer.hpp.

Constructor & Destructor Documentation

◆ CombinedIteratorEvaluation() [1/2]

Definition at line 337 of file iter-explorer.hpp.

◆ CombinedIteratorEvaluation() [2/2]

CombinedIteratorEvaluation ( FUN  explorerFunction)

Definition at line 339 of file iter-explorer.hpp.

Member Function Documentation

◆ setSourceSequence()

void setSourceSequence ( SRC const &  followUpSourceElements)

Definition at line 349 of file iter-explorer.hpp.

◆ findNextResultElement()

bool findNextResultElement ( )

Definition at line 357 of file iter-explorer.hpp.

◆ checkPoint()

bool checkPoint ( ) const

Definition at line 370 of file iter-explorer.hpp.

◆ yield()

reference yield ( ) const

Definition at line 376 of file iter-explorer.hpp.

◆ iterNext()

void iterNext ( )

Definition at line 382 of file iter-explorer.hpp.

Member Data Documentation

◆ srcSeq_

SRC srcSeq_

Definition at line 327 of file iter-explorer.hpp.

◆ results_

ResultIter results_

Definition at line 328 of file iter-explorer.hpp.

◆ explorer_

Explorer explorer_

Definition at line 329 of file iter-explorer.hpp.

+ Inheritance diagram for CombinedIteratorEvaluation< SRC, FUN, _EXP_ >:
+ Collaboration diagram for CombinedIteratorEvaluation< SRC, FUN, _EXP_ >:

The documentation for this class was generated from the following file: