Lumiera  0.pre.03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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

typedef _Fun<FUN>::Ret ResultIter

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

typedef SRC::value_type SrcElement

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

typedef _EXP_<ResultIter(SrcElement)> Explorer

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

typedef ResultIter::value_type value_type

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

typedef ResultIter::reference reference

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

typedef ResultIter::pointer pointer

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

Constructor & Destructor Documentation

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

CombinedIteratorEvaluation ( FUN  explorerFunction)

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

Member Function Documentation

void setSourceSequence ( SRC const &  followUpSourceElements)

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

bool findNextResultElement ( )

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

bool checkPoint ( ) const

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

reference yield ( ) const

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

void iterNext ( )

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

Member Data Documentation

+ 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: