diff options
author | thegeorg <thegeorg@yandex-team.com> | 2024-08-12 11:12:40 +0300 |
---|---|---|
committer | thegeorg <thegeorg@yandex-team.com> | 2024-08-12 11:24:52 +0300 |
commit | 00a132e24c5a4eded564dc67fe89d90f687491dc (patch) | |
tree | 64e78aae0f3aaf9362a6884c18eb91054df7bcfc /contrib/restricted/boost | |
parent | 67092572fe38e11cdfbe8c66fe5ab30ffe9a4264 (diff) | |
download | ydb-00a132e24c5a4eded564dc67fe89d90f687491dc.tar.gz |
Fix reimport of certain boost projects
0c08c54d59f214854ecd6e5c51ad41c6ebf6986d
Diffstat (limited to 'contrib/restricted/boost')
7 files changed, 51 insertions, 26 deletions
diff --git a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/identity_converters.hpp b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/identity_converters.hpp index 4f79cfc167..f99d4a8799 100644 --- a/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/identity_converters.hpp +++ b/contrib/restricted/boost/bimap/include/boost/bimap/container_adaptor/detail/identity_converters.hpp @@ -1,6 +1,7 @@ // Boost.Bimap // // Copyright (c) 2006-2007 Matias Capeletto +// Copyright (c) 2024 Joaquin M Lopez Munoz // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at @@ -166,7 +167,7 @@ struct key_to_base_identity #ifndef BOOST_BIMAP_DOXYGEN_WILL_NOT_PROCESS_THE_FOLLOWING_LINES template< class Key > -struct key_to_base_identity< Key, Key > +struct key_to_base_identity< Key, const Key > { // As default accept any type as key in order to allow container // adaptors to work with compatible key types diff --git a/contrib/restricted/boost/core/include/boost/core/allocator_access.hpp b/contrib/restricted/boost/core/include/boost/core/allocator_access.hpp index 8e33ebb047..0f0ed325b3 100644 --- a/contrib/restricted/boost/core/include/boost/core/allocator_access.hpp +++ b/contrib/restricted/boost/core/include/boost/core/allocator_access.hpp @@ -43,9 +43,17 @@ _LIBCPP_SUPPRESS_DEPRECATED_PUSH #if defined(_STL_DISABLE_DEPRECATED_WARNING) _STL_DISABLE_DEPRECATED_WARNING #endif -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4996) +#if defined(__clang__) && defined(__has_warning) +# if __has_warning("-Wdeprecated-declarations") +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wdeprecated-declarations" +# endif +#elif defined(_MSC_VER) +# pragma warning(push) +# pragma warning(disable: 4996) +#elif defined(BOOST_GCC) && BOOST_GCC >= 40600 +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wdeprecated-declarations" #endif namespace boost { @@ -807,9 +815,15 @@ using allocator_rebind_t = typename allocator_rebind<A, T>::type; } /* boost */ -#if defined(_MSC_VER) -#pragma warning(pop) -#endif +#if defined(__clang__) && defined(__has_warning) +# if __has_warning("-Wdeprecated-declarations") +# pragma clang diagnostic pop +# endif +#elif defined(_MSC_VER) +# pragma warning(pop) +#elif defined(BOOST_GCC) && BOOST_GCC >= 40600 +# pragma GCC diagnostic pop +#endif #if defined(_STL_RESTORE_DEPRECATED_WARNING) _STL_RESTORE_DEPRECATED_WARNING #endif diff --git a/contrib/restricted/boost/math/include/boost/math/ccmath/detail/config.hpp b/contrib/restricted/boost/math/include/boost/math/ccmath/detail/config.hpp index e076366ca1..097d69a16b 100644 --- a/contrib/restricted/boost/math/include/boost/math/ccmath/detail/config.hpp +++ b/contrib/restricted/boost/math/include/boost/math/ccmath/detail/config.hpp @@ -43,7 +43,7 @@ // // Don't check here for msvc as they didn't get std lib configuration macros at the same time as C++17 <type_traits> // -#if (__cpp_lib_bool_constant < 201505L) && !defined(BOOST_MATH_NO_CCMATH) +#if (defined(__cpp_lib_bool_constant) && __cpp_lib_bool_constant < 201505L) && !defined(BOOST_MATH_NO_CCMATH) # define BOOST_MATH_NO_CCMATH #endif #endif diff --git a/contrib/restricted/boost/math/include/boost/math/tools/config.hpp b/contrib/restricted/boost/math/include/boost/math/tools/config.hpp index 110edc06b7..33c8c735a5 100644 --- a/contrib/restricted/boost/math/include/boost/math/tools/config.hpp +++ b/contrib/restricted/boost/math/include/boost/math/tools/config.hpp @@ -197,7 +197,7 @@ #endif // C++23 -#if __cplusplus > 202002L || _MSVC_LANG > 202002L +#if __cplusplus > 202002L || (defined(_MSVC_LANG) &&_MSVC_LANG > 202002L) # if __GNUC__ >= 13 // libstdc++3 only defines to/from_chars for std::float128_t when one of these defines are set // otherwise we're right out of luck... diff --git a/contrib/restricted/boost/math/include/boost/math/tools/promotion.hpp b/contrib/restricted/boost/math/include/boost/math/tools/promotion.hpp index 263f3a6205..2c2d55b401 100644 --- a/contrib/restricted/boost/math/include/boost/math/tools/promotion.hpp +++ b/contrib/restricted/boost/math/include/boost/math/tools/promotion.hpp @@ -27,7 +27,7 @@ #include <type_traits> #if defined __has_include -# if __cplusplus > 202002L || _MSVC_LANG > 202002L +# if __cplusplus > 202002L || (defined(_MSVC_LANG) && _MSVC_LANG > 202002L) # if __has_include (<stdfloat>) # error #include <stdfloat> # endif diff --git a/contrib/restricted/boost/math/include/boost/math/tools/roots.hpp b/contrib/restricted/boost/math/include/boost/math/tools/roots.hpp index 25b77529e7..97e67fae95 100644 --- a/contrib/restricted/boost/math/include/boost/math/tools/roots.hpp +++ b/contrib/restricted/boost/math/include/boost/math/tools/roots.hpp @@ -790,35 +790,35 @@ inline T schroeder_iterate(F f, T guess, T min, T max, int digits) noexcept(poli * so this default should recover full precision even in this somewhat pathological case. * For isolated roots, the problem is so rapidly convergent that this doesn't matter at all. */ -template<class Complex, class F> -Complex complex_newton(F g, Complex guess, int max_iterations = std::numeric_limits<typename Complex::value_type>::digits) +template<class ComplexType, class F> +ComplexType complex_newton(F g, ComplexType guess, int max_iterations = std::numeric_limits<typename ComplexType::value_type>::digits) { - typedef typename Complex::value_type Real; + typedef typename ComplexType::value_type Real; using std::norm; using std::abs; using std::max; // z0, z1, and z2 cannot be the same, in case we immediately need to resort to Muller's Method: - Complex z0 = guess + Complex(1, 0); - Complex z1 = guess + Complex(0, 1); - Complex z2 = guess; + ComplexType z0 = guess + ComplexType(1, 0); + ComplexType z1 = guess + ComplexType(0, 1); + ComplexType z2 = guess; do { auto pair = g(z2); if (norm(pair.second) == 0) { // Muller's method. Notation follows Numerical Recipes, 9.5.2: - Complex q = (z2 - z1) / (z1 - z0); + ComplexType q = (z2 - z1) / (z1 - z0); auto P0 = g(z0); auto P1 = g(z1); - Complex qp1 = static_cast<Complex>(1) + q; - Complex A = q * (pair.first - qp1 * P1.first + q * P0.first); - - Complex B = (static_cast<Complex>(2) * q + static_cast<Complex>(1)) * pair.first - qp1 * qp1 * P1.first + q * q * P0.first; - Complex C = qp1 * pair.first; - Complex rad = sqrt(B * B - static_cast<Complex>(4) * A * C); - Complex denom1 = B + rad; - Complex denom2 = B - rad; - Complex correction = (z1 - z2) * static_cast<Complex>(2) * C; + ComplexType qp1 = static_cast<ComplexType>(1) + q; + ComplexType A = q * (pair.first - qp1 * P1.first + q * P0.first); + + ComplexType B = (static_cast<ComplexType>(2) * q + static_cast<ComplexType>(1)) * pair.first - qp1 * qp1 * P1.first + q * q * P0.first; + ComplexType C = qp1 * pair.first; + ComplexType rad = sqrt(B * B - static_cast<ComplexType>(4) * A * C); + ComplexType denom1 = B + rad; + ComplexType denom2 = B - rad; + ComplexType correction = (z1 - z2) * static_cast<ComplexType>(2) * C; if (norm(denom1) > norm(denom2)) { correction /= denom1; diff --git a/contrib/restricted/boost/variant2/include/boost/variant2/variant.hpp b/contrib/restricted/boost/variant2/include/boost/variant2/variant.hpp index aec8966249..1668436cb1 100644 --- a/contrib/restricted/boost/variant2/include/boost/variant2/variant.hpp +++ b/contrib/restricted/boost/variant2/include/boost/variant2/variant.hpp @@ -1634,7 +1634,17 @@ public: template<class U, class Ud = typename std::decay<U>::type, class E1 = typename std::enable_if< !std::is_same<Ud, variant>::value && !std::is_base_of<variant, Ud>::value && !detail::is_in_place_index<Ud>::value && !detail::is_in_place_type<Ud>::value >::type, + +#if BOOST_WORKAROUND(BOOST_MSVC, < 1940) + + class V = mp11::mp_apply_q< mp11::mp_bind_front<detail::resolve_overload_type, U&&>, variant >, + +#else + class V = detail::resolve_overload_type<U&&, T...>, + +#endif + class E2 = typename std::enable_if<std::is_constructible<V, U&&>::value>::type > constexpr variant( U&& u ) |