Higher Orderfenctions는 기능 및 기능 객체를위한 유틸리티를 제공하는 헤더 전용 C ++ 11/C ++ 14 라이브러리로, 전통적으로 메타 프로 그램으로 수행 된 것보다 훨씬 간단한 구성으로 많은 문제를 해결할 수 있습니다.
더 높은 변환은 다음과 같습니다.
constexpr 초기화 및 constexpr 평가를 모두 지원합니다. 유형 공제, 변수 템플릿 및 완벽한 전달을 활용하여 간단하고 현대적인 인터페이스를 제공합니다.더 높은 변환은 세 가지 구성 요소로 나뉩니다.
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 구현의 많은 버그로 인해 ConstExPR 지원이 제한되어 있습니다. 그러나 BOOST_HOF_STATIC_FUNCTION 및 BOOST_HOF_STATIC_LAMBDA_FUNCTION constructs를 사용할 때 함수의 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
문서는 Sphinx를 사용하여 구축되었습니다. 먼저 pip 사용하여 문서에 필요한 요구 사항을 설치하십시오.
pip install -r doc/requirements.txt
그런 다음 sphinx-build 사용하여 HTML 문서를 생성 할 수 있습니다.
sphinx-build -b html doc/ doc/html/
최종 문서는 doc/html 폴더에 있습니다.