3rdParty/boost/1.78.0/libs/hof/doc/src/index.md
HigherOrderFunctions is a header-only C++11/C++14 library that provides utilities for functions and function objects, which can solve many problems with much simpler constructs than whats traditionally been done with metaprogramming.
HigherOrderFunctions is:
constexpr initialization and constexpr evaluation of functions. It takes advantage of type deduction, varidiac templates, and perfect forwarding to provide a simple and modern interface.HigherOrderFunctions is divided into three components:
Github: https://github.com/pfultz2/higherorderfunctions/
Documentation: http://pfultz2.github.io/higherorderfunctions/doc/html/
This requires a C++11 compiler. There are no third-party dependencies. This has been tested on clang 3.5-3.8, gcc 4.6-7, and Visual Studio 2015 and 2017.
Both MSVC and gcc 4.6 have limited constexpr support due to many bugs in the implementation of constexpr. However, constexpr initialization of functions is supported when using the BOOST_HOF_STATIC_FUNCTION and BOOST_HOF_STATIC_LAMBDA_FUNCTION constructs.
On older compilers such as gcc 4.6 and gcc 4.7, noexcept is not used due to many bugs in the implementation. Also, most compilers don't support deducing noexcept with member function pointers. Only newer versions of gcc(4.9 and later) support this.