Up to now, we had a very simplistic configuration option just to search for a match, and we had the complete full-blown reconfiguration builder option, which accepts a functor to work on and reconfigure the embedded Filter chain. It occurred to me that in many cases you'd rather want some intermediary level of flexibility: you want to replace the filter predicate entirely by some explicitly given functor, yet you don't need the full ability to re-shape the Filter chain as a whole. In fact the intended use case for IterChainSearch (which is the EventLog I am about to augment with backtracking capabilities) will only ever need that intermediate level. Thus wer're adding this intermediary level of configurability now. The only twist is that doing so requires us to pass an "arbitrary function like thing" (captured by universal reference) through a "layer of lambdas". Which means, we have to capture an "arbitrary thingie" by value. Fortunately, as I just found out today, C++14 allows something which comes close to that requirement: the value capture of a lambda is allowe to have an intialiser. Which means, we can std::forward into the value captured by the intermediary lambda. I just hope I never need to know or understand the actual type this captured "value" takes on.... :-) |
||
|---|---|---|
| .. | ||
| draw | ||
| DIR_INFO | ||
| empty.html | ||
| InterfaceConcept_Varga.mm | ||
| renderengine.html | ||
| thinkPad.ichthyo.mm | ||
| uml | ||
| workflow.mm | ||