Lumiera  0.pre.03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
DefaultCombinator< SRC, FUN > Class Template Reference

#include "lib/iter-explorer.hpp"


template<class SRC, class FUN>
class lib::iter_explorer::DefaultCombinator< SRC, FUN >

a generic "Combinator strategy" for IterExplorer.

This default / fallback solution doesn't assume anything beyond the source and the intermediary result(s) to be Lumiera Forward Iterators.

the implementation stores the functor into a std::function object, which might cause heap allocations, depending on the function given. Besides, the implementation holds one instance of the (intermediary) result iterator (yielded by invoking the function) and a copy of the original IterExplorer source sequence, to get the further elements when the initial results are exhausted.

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

Public Member Functions

 DefaultCombinator ()
 DefaultCombinator (FUN explorerFunction, SRC const &sourceElements)
- Public Member Functions inherited from CombinedIteratorEvaluation< SRC, FUN >
 CombinedIteratorEvaluation ()
 CombinedIteratorEvaluation (FUN explorerFunction)
bool checkPoint () const
void iterNext ()
void setSourceSequence (SRC const &followUpSourceElements)
reference yield () const

Private Types

typedef _Fun< FUN >::Ret ResultIter

Additional Inherited Members

- Public Types inherited from CombinedIteratorEvaluation< SRC, FUN >
typedef ResultIter::pointer pointer
typedef ResultIter::reference reference
typedef ResultIter::value_type value_type

Member Typedef Documentation

typedef _Fun<FUN>::Ret ResultIter

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

Constructor & Destructor Documentation

DefaultCombinator ( )

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

DefaultCombinator ( FUN  explorerFunction,
SRC const &  sourceElements 

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

References CombinedIteratorEvaluation< SRC, FUN >::setSourceSequence().

+ Here is the call graph for this function:

+ Inheritance diagram for DefaultCombinator< SRC, FUN >:
+ Collaboration diagram for DefaultCombinator< SRC, FUN >:

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