EmperiorDorderfunctions是仅汇总C ++ 11/C ++ 14库,它为功能和功能对象提供实用程序,它可以用比传统上使用元编程的构造更简单的构造来解决许多问题。
高级functions是:
constexpr初始化和constexpr的功能评估。它利用类型扣除,变异模板和完美的转发来提供简单而现代的界面。较高的frorderfunctions分为三个组成部分:
github:https://github.com/boostorg/hof/
文档:http://boost-hof.readthedocs.io/
这需要C ++ 11编译器。没有第三方依赖性。这已经在Clang 3.5-3.8,GCC 4.6-7和Visual Studio 2015和2017上进行了测试。
MSVC和GCC 4.6由于constexpr实施的许多错误,CONSEXPR支持都有限。但是,当使用BOOST_HOF_STATIC_FUNCTION和BOOST_HOF_STATIC_LAMBDA_FUNCTION构造时,支持函数的constexPR初始化。
在诸如GCC 4.6和GCC 4.7之类的较旧编译器上,由于实现中的许多错误,不使用noexcept 。同样,大多数编译器不支持使用成员功能指针noexcept 。 GCC(4.9及以后)只有更新的版本支持此版本。
BOOST.HIGHERORDERFUNCTIONS库使用CMAKE来构建。要使用cmake配置创建一个构建目录,然后运行cmake:
mkdir build
cd build
cmake ..
要安装库,只需运行install目标:
cmake --build . --target install
可以使用check目标来构建和运行测试:
cmake --build . --target check
测试也可以使用boost.build进行,只需将库复制到Boost源树,然后:
cd test
b2
该文档是使用狮身人面像构建的。首先,使用pip安装文档所需的要求:
pip install -r doc/requirements.txt
然后,可以使用sphinx-build生成HTML文档:
sphinx-build -b html doc/ doc/html/
最终文档将在doc/html文件夹中。