diff options
author | robot-contrib <robot-contrib@yandex-team.com> | 2024-08-22 05:50:44 +0300 |
---|---|---|
committer | robot-contrib <robot-contrib@yandex-team.com> | 2024-08-22 05:59:36 +0300 |
commit | e4b45ffc2b85a1133d737279e39d5b64a1548bad (patch) | |
tree | d72cc98153a0277beec67d3f76bcba818ac6b4b2 /contrib/restricted | |
parent | 5733be9203fdc483c60d6021c254b836a94b581b (diff) | |
download | ydb-e4b45ffc2b85a1133d737279e39d5b64a1548bad.tar.gz |
Update contrib/restricted/boost/bind to 1.86.0
36e5db27fff0e5e63069b8863a31054cd7e5b443
Diffstat (limited to 'contrib/restricted')
-rw-r--r-- | contrib/restricted/boost/bind/include/boost/bind/bind.hpp | 52 | ||||
-rw-r--r-- | contrib/restricted/boost/bind/ya.make | 4 |
2 files changed, 17 insertions, 39 deletions
diff --git a/contrib/restricted/boost/bind/include/boost/bind/bind.hpp b/contrib/restricted/boost/bind/include/boost/bind/bind.hpp index 2d5b454e90..5ec7923090 100644 --- a/contrib/restricted/boost/bind/include/boost/bind/bind.hpp +++ b/contrib/restricted/boost/bind/include/boost/bind/bind.hpp @@ -737,44 +737,18 @@ template<class F, class... A> namespace _bi { -template< class Pm, int I > struct add_cref; +template<class M, int I> struct add_cref; -template< class M, class T > struct add_cref< M T::*, 0 > +template<class M> struct add_cref<M, 0> { typedef M type; }; -template< class M, class T > struct add_cref< M T::*, 1 > +template<class M> struct add_cref<M, 1> { -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4180) -#endif - typedef M const & type; -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -}; - -template< class R, class T > struct add_cref< R (T::*) (), 1 > -{ - typedef void type; -}; - -template< class R, class T > struct add_cref< R (T::*) () const, 1 > -{ - typedef void type; -}; - -#if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED ) - -template< class R, class T > struct add_cref< R (T::*) () const noexcept, 1 > -{ - typedef void type; + typedef M const& type; }; -#endif // __cpp_noexcept_function_type - template<class R> struct isref { enum value_type { value = 0 }; @@ -790,30 +764,34 @@ template<class R> struct isref< R* > enum value_type { value = 1 }; }; -template<class Pm, class A1> struct dm_result +template<class M, class A1, bool fn = std::is_function<M>::value> struct dm_result +{ +}; + +template<class M, class A1> struct dm_result<M, A1, false> { - typedef typename add_cref< Pm, 1 >::type type; + typedef typename add_cref< M, 1 >::type type; }; -template<class Pm, class R, class F, class L> struct dm_result< Pm, bind_t<R, F, L> > +template<class M, class R, class F, class L> struct dm_result<M, bind_t<R, F, L>, false> { typedef typename bind_t<R, F, L>::result_type result_type; - typedef typename add_cref< Pm, isref< result_type >::value >::type type; + typedef typename add_cref< M, isref< result_type >::value >::type type; }; } // namespace _bi -template< class A1, class M, class T > +template<class A1, class M, class T> _bi::bind_t< - typename _bi::dm_result< M T::*, A1 >::type, + typename _bi::dm_result<M, A1>::type, _mfi::dm<M, T>, typename _bi::list_av<A1>::type > BOOST_BIND( M T::*f, A1 a1 ) { - typedef typename _bi::dm_result< M T::*, A1 >::type result_type; + typedef typename _bi::dm_result<M, A1>::type result_type; typedef _mfi::dm<M, T> F; typedef typename _bi::list_av<A1>::type list_type; return _bi::bind_t< result_type, F, list_type >( F( f ), list_type( a1 ) ); diff --git a/contrib/restricted/boost/bind/ya.make b/contrib/restricted/boost/bind/ya.make index 9e146d94a6..2ca7768fc2 100644 --- a/contrib/restricted/boost/bind/ya.make +++ b/contrib/restricted/boost/bind/ya.make @@ -6,9 +6,9 @@ LICENSE(BSL-1.0) LICENSE_TEXTS(.yandex_meta/licenses.list.txt) -VERSION(1.85.0) +VERSION(1.86.0) -ORIGINAL_SOURCE(https://github.com/boostorg/bind/archive/boost-1.85.0.tar.gz) +ORIGINAL_SOURCE(https://github.com/boostorg/bind/archive/boost-1.86.0.tar.gz) PEERDIR( contrib/restricted/boost/config |