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

#include "lib/iter-explorer.hpp"

Description

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
private

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

◆ SrcElement

typedef SRC::value_type SrcElement
private

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

◆ Explorer

typedef _EXP_<ResultIter(SrcElement)> Explorer
private

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)
inline

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

Member Function Documentation

◆ setSourceSequence()

void setSourceSequence ( SRC const &  followUpSourceElements)
inline

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

◆ findNextResultElement()

bool findNextResultElement ( )
inlineprivate

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

◆ checkPoint()

bool checkPoint ( ) const
inline

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

◆ yield()

reference yield ( ) const
inline

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

◆ iterNext()

void iterNext ( )
inline

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

Member Data Documentation

◆ srcSeq_

SRC srcSeq_
private

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

◆ results_

ResultIter results_
private

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

◆ explorer_

Explorer explorer_
private

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: