diff options
author | robot-contrib <robot-contrib@yandex-team.com> | 2025-04-26 11:30:39 +0300 |
---|---|---|
committer | robot-contrib <robot-contrib@yandex-team.com> | 2025-04-26 11:47:06 +0300 |
commit | e13a584a30a363f9ced7fc596a1a76e044fe5f9b (patch) | |
tree | 57b83f63296916f75e906e447424209ecf94c653 | |
parent | 45d76010f29ef9d6a392297f4faa03b8acd95c1d (diff) | |
download | ydb-e13a584a30a363f9ced7fc596a1a76e044fe5f9b.tar.gz |
Update contrib/restricted/boost/mp11 to 1.88.0
commit_hash:b137476244babd08199f3381d75cff2081477bfe
7 files changed, 60 insertions, 61 deletions
diff --git a/contrib/restricted/boost/mp11/.yandex_meta/default.nix b/contrib/restricted/boost/mp11/.yandex_meta/default.nix index dec186a5d94..7f1d8910516 100644 --- a/contrib/restricted/boost/mp11/.yandex_meta/default.nix +++ b/contrib/restricted/boost/mp11/.yandex_meta/default.nix @@ -1,13 +1,13 @@ self: super: with self; { boost_mp11 = stdenv.mkDerivation rec { pname = "boost_mp11"; - version = "1.87.0"; + version = "1.88.0"; src = fetchFromGitHub { owner = "boostorg"; repo = "mp11"; rev = "boost-${version}"; - hash = "sha256-7lctl8+UTmeN5AzmJi0yRRYrH7gx5kSbik0xo3vWWHg="; + hash = "sha256-XtjcSv+pEfPCuOghx1EBum6n2IZMWEMBMk/hY38/Nto="; }; }; } diff --git a/contrib/restricted/boost/mp11/.yandex_meta/devtools.copyrights.report b/contrib/restricted/boost/mp11/.yandex_meta/devtools.copyrights.report index 64821341395..3f8a241d1fc 100644 --- a/contrib/restricted/boost/mp11/.yandex_meta/devtools.copyrights.report +++ b/contrib/restricted/boost/mp11/.yandex_meta/devtools.copyrights.report @@ -59,6 +59,17 @@ BELONGS ya.make Files with this license: include/boost/mp11/bind.hpp [4:4] +KEEP COPYRIGHT_SERVICE_LABEL 4afd26cff28ac99a2d42f9a0e1ed0a8e +BELONGS ya.make + License text: + // Copyright 2015, 2019, 2024 Peter Dimov. + Scancode info: + Original SPDX id: COPYRIGHT_SERVICE_LABEL + Score : 100.00 + Match type : COPYRIGHT + Files with this license: + include/boost/mp11/set.hpp [4:4] + KEEP COPYRIGHT_SERVICE_LABEL 4fa3ff095c8f917b4727472f2302a615 BELONGS ya.make License text: @@ -221,17 +232,6 @@ BELONGS ya.make Files with this license: include/boost/mp11/detail/mp_with_index.hpp [4:4] -KEEP COPYRIGHT_SERVICE_LABEL e53c2d13e0a107641bbfd6b157ce66ac -BELONGS ya.make - License text: - // Copyright 2015, 2019 Peter Dimov. - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - include/boost/mp11/set.hpp [4:4] - KEEP COPYRIGHT_SERVICE_LABEL e7b274a7f530f5db416c8d692d4270c7 BELONGS ya.make License text: diff --git a/contrib/restricted/boost/mp11/.yandex_meta/licenses.list.txt b/contrib/restricted/boost/mp11/.yandex_meta/licenses.list.txt index f8a79dab2eb..058793faddc 100644 --- a/contrib/restricted/boost/mp11/.yandex_meta/licenses.list.txt +++ b/contrib/restricted/boost/mp11/.yandex_meta/licenses.list.txt @@ -83,7 +83,7 @@ Distributed under the [Boost Software License, Version 1.0](http://boost.org/LIC ====================COPYRIGHT==================== -// Copyright 2015, 2019 Peter Dimov. +// Copyright 2015, 2019, 2024 Peter Dimov. ====================COPYRIGHT==================== diff --git a/contrib/restricted/boost/mp11/include/boost/mp11/algorithm.hpp b/contrib/restricted/boost/mp11/include/boost/mp11/algorithm.hpp index 8f802440ae3..dd39fbaa679 100644 --- a/contrib/restricted/boost/mp11/include/boost/mp11/algorithm.hpp +++ b/contrib/restricted/boost/mp11/include/boost/mp11/algorithm.hpp @@ -348,16 +348,21 @@ template<class L, class N> using mp_drop = mp_drop_c<L, std::size_t{ N::value }> namespace detail { -template<class S, class F> struct mp_from_sequence_impl; +template<class S, class F, bool Z> struct mp_from_sequence_impl; -template<template<class T, T... I> class S, class U, U... J, class F> struct mp_from_sequence_impl<S<U, J...>, F> +template<template<class T, T... I> class S, class U, U... J, class F> struct mp_from_sequence_impl<S<U, J...>, F, false> { using type = mp_list_c<U, (F::value + J)...>; }; +template<template<class T, T... I> class S, class U, U... J, class F> struct mp_from_sequence_impl<S<U, J...>, F, true> +{ + using type = mp_list_c<U, J...>; +}; + } // namespace detail -template<class S, class F = mp_int<0>> using mp_from_sequence = typename detail::mp_from_sequence_impl<S, F>::type; +template<class S, class F = mp_int<0>> using mp_from_sequence = typename detail::mp_from_sequence_impl<S, F, (F::value == 0)>::type; // mp_iota(_c)<N, F> template<std::size_t N, std::size_t F = 0> using mp_iota_c = mp_from_sequence<make_index_sequence<N>, mp_size_t<F>>; @@ -719,37 +724,7 @@ namespace detail template<class L, class V> struct mp_find_impl; -#if BOOST_MP11_CLANG && defined( BOOST_MP11_HAS_FOLD_EXPRESSIONS ) - -struct mp_index_holder -{ - std::size_t i_; - bool f_; -}; - -constexpr inline mp_index_holder operator+( mp_index_holder const & v, bool f ) -{ - if( v.f_ ) - { - return v; - } - else if( f ) - { - return { v.i_, true }; - } - else - { - return { v.i_ + 1, false }; - } -} - -template<template<class...> class L, class... T, class V> struct mp_find_impl<L<T...>, V> -{ - static constexpr mp_index_holder _v{ 0, false }; - using type = mp_size_t< (_v + ... + std::is_same<T, V>::value).i_ >; -}; - -#elif !defined( BOOST_MP11_NO_CONSTEXPR ) +#if !defined( BOOST_MP11_NO_CONSTEXPR ) template<template<class...> class L, class V> struct mp_find_impl<L<>, V> { @@ -828,15 +803,7 @@ namespace detail template<class L, template<class...> class P> struct mp_find_if_impl; -#if BOOST_MP11_CLANG && defined( BOOST_MP11_HAS_FOLD_EXPRESSIONS ) - -template<template<class...> class L, class... T, template<class...> class P> struct mp_find_if_impl<L<T...>, P> -{ - static constexpr mp_index_holder _v{ 0, false }; - using type = mp_size_t< (_v + ... + P<T>::value).i_ >; -}; - -#elif !defined( BOOST_MP11_NO_CONSTEXPR ) +#if !defined( BOOST_MP11_NO_CONSTEXPR ) template<template<class...> class L, template<class...> class P> struct mp_find_if_impl<L<>, P> { diff --git a/contrib/restricted/boost/mp11/include/boost/mp11/set.hpp b/contrib/restricted/boost/mp11/include/boost/mp11/set.hpp index 808636b72b6..d65e4aeb988 100644 --- a/contrib/restricted/boost/mp11/include/boost/mp11/set.hpp +++ b/contrib/restricted/boost/mp11/include/boost/mp11/set.hpp @@ -1,7 +1,7 @@ #ifndef BOOST_MP11_SET_HPP_INCLUDED #define BOOST_MP11_SET_HPP_INCLUDED -// Copyright 2015, 2019 Peter Dimov. +// Copyright 2015, 2019, 2024 Peter Dimov. // // Distributed under the Boost Software License, Version 1.0. // @@ -10,9 +10,11 @@ #include <boost/mp11/utility.hpp> #include <boost/mp11/function.hpp> +#include <boost/mp11/detail/config.hpp> #include <boost/mp11/detail/mp_list.hpp> #include <boost/mp11/detail/mp_append.hpp> #include <boost/mp11/detail/mp_copy_if.hpp> +#include <boost/mp11/detail/mp_fold.hpp> #include <boost/mp11/detail/mp_remove_if.hpp> #include <boost/mp11/detail/mp_is_list.hpp> #include <type_traits> @@ -94,6 +96,34 @@ template<class S, class... T> using mp_set_push_front = typename detail::mp_set_ namespace detail { +#if !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1900 ) + +struct mp_is_set_helper_start +{ + static constexpr bool value = true; + template<class T> static mp_false contains( T ); +}; + +template<class Base, class T> +struct mp_is_set_helper: Base +{ + static constexpr bool value = Base::value && !decltype( Base::contains( mp_identity<T>{} ) )::value; + using Base::contains; + static mp_true contains( mp_identity<T> ); +}; + +template<class S> struct mp_is_set_impl +{ + using type = mp_false; +}; + +template<template<class...> class L, class... T> struct mp_is_set_impl<L<T...>> +{ + using type = mp_bool<mp_fold<mp_list<T...>, detail::mp_is_set_helper_start, detail::mp_is_set_helper>::value>; +}; + +#else + template<class S> struct mp_is_set_impl { using type = mp_false; @@ -104,6 +134,8 @@ template<template<class...> class L, class... T> struct mp_is_set_impl<L<T...>> using type = mp_to_bool<std::is_same<mp_list<T...>, mp_set_push_back<mp_list<>, T...> > >; }; +#endif // !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1900 ) + } // namespace detail template<class S> using mp_is_set = typename detail::mp_is_set_impl<S>::type; diff --git a/contrib/restricted/boost/mp11/include/boost/mp11/version.hpp b/contrib/restricted/boost/mp11/include/boost/mp11/version.hpp index 381068358de..4c00cbd378c 100644 --- a/contrib/restricted/boost/mp11/include/boost/mp11/version.hpp +++ b/contrib/restricted/boost/mp11/include/boost/mp11/version.hpp @@ -11,6 +11,6 @@ // Same format as BOOST_VERSION: // major * 100000 + minor * 100 + patch -#define BOOST_MP11_VERSION 108700 +#define BOOST_MP11_VERSION 108800 #endif // #ifndef BOOST_MP11_VERSION_HPP_INCLUDED diff --git a/contrib/restricted/boost/mp11/ya.make b/contrib/restricted/boost/mp11/ya.make index bced8c301ee..8b85621553d 100644 --- a/contrib/restricted/boost/mp11/ya.make +++ b/contrib/restricted/boost/mp11/ya.make @@ -6,9 +6,9 @@ LICENSE(BSL-1.0) LICENSE_TEXTS(.yandex_meta/licenses.list.txt) -VERSION(1.87.0) +VERSION(1.88.0) -ORIGINAL_SOURCE(https://github.com/boostorg/mp11/archive/boost-1.87.0.tar.gz) +ORIGINAL_SOURCE(https://github.com/boostorg/mp11/archive/boost-1.88.0.tar.gz) ADDINCL( GLOBAL contrib/restricted/boost/mp11/include |