aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-contrib <robot-contrib@yandex-team.com>2025-04-26 11:30:39 +0300
committerrobot-contrib <robot-contrib@yandex-team.com>2025-04-26 11:47:06 +0300
commite13a584a30a363f9ced7fc596a1a76e044fe5f9b (patch)
tree57b83f63296916f75e906e447424209ecf94c653
parent45d76010f29ef9d6a392297f4faa03b8acd95c1d (diff)
downloadydb-e13a584a30a363f9ced7fc596a1a76e044fe5f9b.tar.gz
Update contrib/restricted/boost/mp11 to 1.88.0
commit_hash:b137476244babd08199f3381d75cff2081477bfe
-rw-r--r--contrib/restricted/boost/mp11/.yandex_meta/default.nix4
-rw-r--r--contrib/restricted/boost/mp11/.yandex_meta/devtools.copyrights.report22
-rw-r--r--contrib/restricted/boost/mp11/.yandex_meta/licenses.list.txt2
-rw-r--r--contrib/restricted/boost/mp11/include/boost/mp11/algorithm.hpp53
-rw-r--r--contrib/restricted/boost/mp11/include/boost/mp11/set.hpp34
-rw-r--r--contrib/restricted/boost/mp11/include/boost/mp11/version.hpp2
-rw-r--r--contrib/restricted/boost/mp11/ya.make4
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