1<!-- Copyright 2018 Paul Fultz II 2 Distributed under the Boost Software License, Version 1.0. 3 (http://www.boost.org/LICENSE_1_0.txt) 4--> 5 6Configurations 7============== 8 9There are several configuration macros that control the behavior of Boost.HigherOrderFunctions library. 10 11```eval_rst 12+-----------------------------------------+--------------------------------------------------------------------------------+ 13| Name | Description | 14+=========================================+================================================================================+ 15| ``BOOST_HOF_CHECK_UNPACK_SEQUENCE`` | Unpack has extra checks to ensure that the function will be invoked with the | 16| | sequence. This extra check can help improve error reporting but it can slow | 17| | down compilation. This is enabled by default. | 18+-----------------------------------------+--------------------------------------------------------------------------------+ 19| ``BOOST_HOF_NO_EXPRESSION_SFINAE`` | This controls whether the library will use expression SFINAE to detect the | 20| | callability of functions. On MSVC, this is enabled by default, since it does | 21| | not have full support for expression SFINAE. | 22+-----------------------------------------+--------------------------------------------------------------------------------+ 23| ``BOOST_HOF_RECURSIVE_CONSTEXPR_DEPTH`` | Because C++ instantiates `constexpr` functions eagerly, recursion with | 24| | `constexpr` functions can cause the compiler to reach its internal limits. The | 25| | setting is used by the library to set a limit on recursion depth to avoid | 26| | infinite template instantiations. The default is 16, but increasing the limit | 27| | can increase compile times. | 28+-----------------------------------------+--------------------------------------------------------------------------------+ 29``` 30