Lumiera  0.pre.03
»edit your freedom«
lib::iter::anonymous_namespace{iter-chain-search.hpp} Namespace Reference

Classes

struct  _IterChainSetup
 

Functions

template<class SRC >
auto buildChainExplorer (SRC &&dataSource)
 define the chained-search mechanism: invoking filter.expandChildren() adds a new layer with the copy of current iteration (search) state, which is a mutableFilter and can thus be augmented. More...
 
template<class SRC >
auto buildSearchFilter (SRC &&dataSource)
 

Class Documentation

◆ lib::iter::anonymous_namespace{iter-chain-search.hpp}::_IterChainSetup

struct lib::iter::anonymous_namespace{iter-chain-search.hpp}::_IterChainSetup
Class Members
typedef decltype(buildSearchFilter(declval
< SRC >())
Filter
typedef decltype(buildChainExplorer(declval
< SRC >()))
Pipeline
typedef function< void(Filter &)> StepFunctor each step in the chain is a functor to reconfigure the underlying filter
+ Collaboration diagram for _IterChainSetup< SRC >:

Function Documentation

◆ buildChainExplorer()

auto lib::iter::anonymous_namespace{iter-chain-search.hpp}::buildChainExplorer ( SRC &&  dataSource)

define the chained-search mechanism: invoking filter.expandChildren() adds a new layer with the copy of current iteration (search) state, which is a mutableFilter and can thus be augmented.

Remarks
the expandChildren() invocation happens from IterChainSearch::iterNext(), which ensures the chained layers are expanded and matched until exhaustion.

Definition at line 109 of file iter-chain-search.hpp.

Referenced by IterChainSearch< SRC >::IterChainSearch().

+ Here is the caller graph for this function: