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文件夾中。