diff --git a/CMakeLists.txt b/CMakeLists.txt index 6b4f33d586..f444966abb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required (VERSION 3.18.3) project (llama CXX) # llama -find_package(Boost 1.70.0 REQUIRED) +find_package(Boost 1.74.0 REQUIRED) find_package(fmt CONFIG QUIET) add_library(${PROJECT_NAME} INTERFACE) target_include_directories(${PROJECT_NAME} INTERFACE $ $) diff --git a/cmake/llama-config.cmake.in b/cmake/llama-config.cmake.in index 98c8173cbb..7df2a1947e 100644 --- a/cmake/llama-config.cmake.in +++ b/cmake/llama-config.cmake.in @@ -17,7 +17,7 @@ set(llama_INCLUDE_DIR ${llama_INCLUDE_DIR} "${PACKAGE_PREFIX_DIR}/include") target_include_directories(llama INTERFACE ${llama_INCLUDE_DIR}) # dependencies -find_package(Boost 1.70.0 REQUIRED) +find_package(Boost 1.74.0 REQUIRED) find_package(fmt CONFIG QUIET) target_link_libraries(llama INTERFACE Boost::headers) if (fmt_FOUND) diff --git a/docs/pages/install.rst b/docs/pages/install.rst index 86be4b191c..39c9d78fe7 100644 --- a/docs/pages/install.rst +++ b/docs/pages/install.rst @@ -25,7 +25,7 @@ LLAMA library At its core, using the LLAMA library requires: - cmake 3.18.3 or higher -- Boost 1.70.0 or higher +- Boost 1.74.0 or higher - libfmt 6.2.1 or higher (optional) for support to dump mappings as SVG/HTML Tests diff --git a/include/llama/Meta.hpp b/include/llama/Meta.hpp index 0c9ef92633..f52d285535 100644 --- a/include/llama/Meta.hpp +++ b/include/llama/Meta.hpp @@ -4,52 +4,6 @@ #include -#if BOOST_MP11_VERSION < 107300 -// Copyright 2015 Peter Dimov. -// -// Distributed under the Boost Software License, Version 1.0. -// -// Boost Software License - Version 1.0 - August 17th, 2003 -// -// Permission is hereby granted, free of charge, to any person or organization -// obtaining a copy of the software and accompanying documentation covered by -// this license (the "Software") to use, reproduce, display, distribute, -// execute, and transmit the Software, and to prepare derivative works of the -// Software, and to permit third-parties to whom the Software is furnished to -// do so, all subject to the following: -// -// The copyright notices in the Software and this entire statement, including -// the above license grant, this restriction and the following disclaimer, -// must be included in all copies of the Software, in whole or in part, and -// all derivative works of the Software, unless such copies or derivative -// works are solely in the form of machine-executable object code generated by -// a source language processor. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -namespace boost::mp11 -{ - namespace detail - { - template - struct mp_flatten_impl - { - template - using fn = mp_if, T, mp_list>; - }; - } // namespace detail - - template> - using mp_flatten = mp_apply, L>, mp_clear>>; -} // namespace boost::mp11 -#endif - namespace llama { // make mp11 directly available in the llama namespace diff --git a/include/llama/Tuple.hpp b/include/llama/Tuple.hpp index 5b972b348b..d02de6412d 100644 --- a/include/llama/Tuple.hpp +++ b/include/llama/Tuple.hpp @@ -245,10 +245,10 @@ namespace llama /// Applies a functor to every element of a tuple, creating a new tuple with the result of the element /// transformations. The functor needs to implement a template `operator()` to which all tuple elements are passed. - // TODO(bgruber): replace by mp11 version in Boost 1.74. template LLAMA_FN_HOST_ACC_INLINE constexpr auto tupleTransform(const Tuple& tuple, const Functor& functor) { + // note: cannot use mp11::tuple_transform since that returns a std::tuple return internal::tupleTransformHelper(std::make_index_sequence{}, tuple, functor); }