There are several configuration macros that control the behavior of Boost.HigherOrderFunctions library.




Unpack has extra checks to ensure that the function will be invoked with the sequence. This extra check can help improve error reporting but it can slow down compilation. This is enabled by default.


This controls whether the library will use expression SFINAE to detect the callability of functions. On MSVC, this is enabled by default, since it does not have full support for expression SFINAE.


Because C++ instantiates constexpr functions eagerly, recursion with constexpr functions can cause the compiler to reach its internal limits. The setting is used by the library to set a limit on recursion depth to avoid infinite template instantiations. The default is 16, but increasing the limit can increase compile times.