functor improvements
This fixes some minor functor-related bugs, mostly found by @cprouve (thanks!).
- Merge
Predicate.h
intoFunction.h
-- this removes the trap that whileFunction.h
was enough to define a simple functor likeETA
,Predicate.h
was needed to form expressions such asETA > 3
. This was usually hidden byPredicate.h
being included indirectly. - Patch various functor-using algorithms that used
Functors::AcceptAll{}
as a default cut to have a compatible default list of headers. - Change the functor cache generation to, hopefully, help catch bugs along these lines earlier next time. Now each functor is guaranteed to be built in a source file that contains exactly the headers that were requested.
This needs some trivial downstream changes in Moore!241 (merged) and Brunel!890 (merged) to increase the number of available functor cache source files.
(setting the number of available source files too low results in an error at stack/cache compilation time)
Edited by Marco Cattaneo