diff options
author | thegeorg <thegeorg@yandex-team.com> | 2024-09-13 13:18:23 +0300 |
---|---|---|
committer | thegeorg <thegeorg@yandex-team.com> | 2024-09-13 13:33:05 +0300 |
commit | 5b720c6a385dfda9e8f86a3ae183bc216b3eb66e (patch) | |
tree | 72bd078adcae9fd5d1ecc409fd1f120332cf7351 | |
parent | 02f70f11e125e828e4ac5ea843ca7c657cbb45cd (diff) | |
download | ydb-5b720c6a385dfda9e8f86a3ae183bc216b3eb66e.tar.gz |
Update boost/asio + boost/process + boost/beast to 1.74.0
commit_hash:58dfb9e9ce688b0c31dc7797230078d839fefa21
7 files changed, 436 insertions, 45 deletions
diff --git a/contrib/restricted/boost/asio/include/boost/asio/buffer.hpp b/contrib/restricted/boost/asio/include/boost/asio/buffer.hpp index 90e10ed092..59418f2622 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/buffer.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/buffer.hpp @@ -50,11 +50,13 @@ #if defined(BOOST_ASIO_HAS_BOOST_WORKAROUND) # include <boost/detail/workaround.hpp> -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) \ - || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) +# if !defined(__clang__) +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) +# define BOOST_ASIO_ENABLE_ARRAY_BUFFER_WORKAROUND +# endif // BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) +# elif BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) # define BOOST_ASIO_ENABLE_ARRAY_BUFFER_WORKAROUND -# endif // BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) - // || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) +# endif // BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) #endif // defined(BOOST_ASIO_HAS_BOOST_WORKAROUND) #if defined(BOOST_ASIO_ENABLE_ARRAY_BUFFER_WORKAROUND) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp index 65dae51bac..8daad4faf6 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp @@ -61,6 +61,9 @@ # define BOOST_ASIO_DECL #endif // !defined(BOOST_ASIO_DECL) +// Helper macro for documentation. +#define BOOST_ASIO_UNSPECIFIED(e) e + // Microsoft Visual C++ detection. #if !defined(BOOST_ASIO_MSVC) # if defined(BOOST_ASIO_HAS_BOOST_CONFIG) && defined(BOOST_MSVC) @@ -97,11 +100,11 @@ # endif // __has_feature(__cxx_rvalue_references__) # endif // defined(__clang__) # if defined(__GNUC__) -# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4) # if (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) # define BOOST_ASIO_HAS_MOVE 1 # endif // (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) -# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4) # endif // defined(__GNUC__) # if defined(BOOST_ASIO_MSVC) # if (_MSC_VER >= 1700) @@ -130,6 +133,8 @@ # define BOOST_ASIO_NONDEDUCED_MOVE_ARG(type) type& # define BOOST_ASIO_MOVE_CAST(type) static_cast<type&&> # define BOOST_ASIO_MOVE_CAST2(type1, type2) static_cast<type1, type2&&> +# define BOOST_ASIO_MOVE_OR_LVALUE(type) static_cast<type&&> +# define BOOST_ASIO_MOVE_OR_LVALUE_TYPE(type) type #endif // defined(BOOST_ASIO_HAS_MOVE) && !defined(BOOST_ASIO_MOVE_CAST) // If BOOST_ASIO_MOVE_CAST still isn't defined, default to a C++03-compatible @@ -156,6 +161,8 @@ # define BOOST_ASIO_NONDEDUCED_MOVE_ARG(type) const type& # define BOOST_ASIO_MOVE_CAST(type) static_cast<const type&> # define BOOST_ASIO_MOVE_CAST2(type1, type2) static_cast<const type1, type2&> +# define BOOST_ASIO_MOVE_OR_LVALUE(type) +# define BOOST_ASIO_MOVE_OR_LVALUE_TYPE(type) type& #endif // !defined(BOOST_ASIO_MOVE_CAST) // Support variadic templates on compilers known to allow it. @@ -167,11 +174,11 @@ # endif // __has_feature(__cxx_variadic_templates__) # endif // defined(__clang__) # if defined(__GNUC__) -# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 4) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4) # if (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) # define BOOST_ASIO_HAS_VARIADIC_TEMPLATES 1 # endif // (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) -# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 4) +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4) # endif // defined(__GNUC__) # if defined(BOOST_ASIO_MSVC) # if (_MSC_VER >= 1900) @@ -180,6 +187,13 @@ # endif // defined(BOOST_ASIO_MSVC) # endif // !defined(BOOST_ASIO_DISABLE_VARIADIC_TEMPLATES) #endif // !defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) +#if !defined(BOOST_ASIO_ELLIPSIS) +# if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) +# define BOOST_ASIO_ELLIPSIS ... +# else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) +# define BOOST_ASIO_ELLIPSIS +# endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) +#endif // !defined(BOOST_ASIO_ELLIPSIS) // Support deleted functions on compilers known to allow it. #if !defined(BOOST_ASIO_DELETED) @@ -211,14 +225,14 @@ # if defined(__clang__) # if __has_feature(__cxx_constexpr__) # define BOOST_ASIO_HAS_CONSTEXPR 1 -# endif // __has_feature(__cxx_constexr__) +# endif // __has_feature(__cxx_constexpr__) # endif // defined(__clang__) # if defined(__GNUC__) -# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4) # if (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) # define BOOST_ASIO_HAS_CONSTEXPR 1 # endif // (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) -# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4) +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4) # endif // defined(__GNUC__) # if defined(BOOST_ASIO_MSVC) # if (_MSC_VER >= 1900) @@ -234,39 +248,90 @@ # define BOOST_ASIO_CONSTEXPR # endif // defined(BOOST_ASIO_HAS_CONSTEXPR) #endif // !defined(BOOST_ASIO_CONSTEXPR) +#if !defined(BOOST_ASIO_STATIC_CONSTEXPR) +# if defined(BOOST_ASIO_HAS_CONSTEXPR) +# define BOOST_ASIO_STATIC_CONSTEXPR(type, assignment) \ + static constexpr type assignment +# else // defined(BOOST_ASIO_HAS_CONSTEXPR) +# define BOOST_ASIO_STATIC_CONSTEXPR(type, assignment) \ + static const type assignment +# endif // defined(BOOST_ASIO_HAS_CONSTEXPR) +#endif // !defined(BOOST_ASIO_STATIC_CONSTEXPR) +#if !defined(BOOST_ASIO_STATIC_CONSTEXPR_DEFAULT_INIT) +# if defined(BOOST_ASIO_HAS_CONSTEXPR) +# if defined(__GNUC__) +# if (__GNUC__ >= 8) +# define BOOST_ASIO_STATIC_CONSTEXPR_DEFAULT_INIT(type, name) \ + static constexpr const type name{} +# else // (__GNUC__ >= 8) +# define BOOST_ASIO_STATIC_CONSTEXPR_DEFAULT_INIT(type, name) \ + static const type name +# endif // (__GNUC__ >= 8) +# elif defined(BOOST_ASIO_MSVC) +# define BOOST_ASIO_STATIC_CONSTEXPR_DEFAULT_INIT(type, name) \ + static const type name +# else // defined(BOOST_ASIO_MSVC) +# define BOOST_ASIO_STATIC_CONSTEXPR_DEFAULT_INIT(type, name) \ + static constexpr const type name{} +# endif // defined(BOOST_ASIO_MSVC) +# else // defined(BOOST_ASIO_HAS_CONSTEXPR) +# define BOOST_ASIO_STATIC_CONSTEXPR_DEFAULT_INIT(type, name) \ + static const type name +# endif // defined(BOOST_ASIO_HAS_CONSTEXPR) +#endif // !defined(BOOST_ASIO_STATIC_CONSTEXPR_DEFAULT_INIT) // Support noexcept on compilers known to allow it. -#if !defined(BOOST_ASIO_NOEXCEPT) +#if !defined(BOOST_ASIO_HAS_NOEXCEPT) # if !defined(BOOST_ASIO_DISABLE_NOEXCEPT) # if defined(BOOST_ASIO_HAS_BOOST_CONFIG) && (BOOST_VERSION >= 105300) +# if !defined(BOOST_NO_NOEXCEPT) +# define BOOST_ASIO_HAS_NOEXCEPT 1 +# endif // !defined(BOOST_NO_NOEXCEPT) # define BOOST_ASIO_NOEXCEPT BOOST_NOEXCEPT # define BOOST_ASIO_NOEXCEPT_OR_NOTHROW BOOST_NOEXCEPT_OR_NOTHROW +# define BOOST_ASIO_NOEXCEPT_IF(c) BOOST_NOEXCEPT_IF(c) # elif defined(__clang__) # if __has_feature(__cxx_noexcept__) -# define BOOST_ASIO_NOEXCEPT noexcept(true) -# define BOOST_ASIO_NOEXCEPT_OR_NOTHROW noexcept(true) +# define BOOST_ASIO_HAS_NOEXCEPT 1 # endif // __has_feature(__cxx_noexcept__) # elif defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) # if (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_ASIO_NOEXCEPT noexcept(true) -# define BOOST_ASIO_NOEXCEPT_OR_NOTHROW noexcept(true) +# define BOOST_ASIO_HAS_NOEXCEPT 1 # endif // (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) # endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) # elif defined(BOOST_ASIO_MSVC) # if (_MSC_VER >= 1900) -# define BOOST_ASIO_NOEXCEPT noexcept(true) -# define BOOST_ASIO_NOEXCEPT_OR_NOTHROW noexcept(true) +# define BOOST_ASIO_HAS_NOEXCEPT 1 # endif // (_MSC_VER >= 1900) # endif // defined(BOOST_ASIO_MSVC) # endif // !defined(BOOST_ASIO_DISABLE_NOEXCEPT) # if !defined(BOOST_ASIO_NOEXCEPT) -# define BOOST_ASIO_NOEXCEPT # endif // !defined(BOOST_ASIO_NOEXCEPT) # if !defined(BOOST_ASIO_NOEXCEPT_OR_NOTHROW) -# define BOOST_ASIO_NOEXCEPT_OR_NOTHROW throw() # endif // !defined(BOOST_ASIO_NOEXCEPT_OR_NOTHROW) +#endif // !defined(BOOST_ASIO_HAS_NOEXCEPT) +#if !defined(BOOST_ASIO_NOEXCEPT) +# if defined(BOOST_ASIO_HAS_NOEXCEPT) +# define BOOST_ASIO_NOEXCEPT noexcept(true) +# else // defined(BOOST_ASIO_HAS_NOEXCEPT) +# define BOOST_ASIO_NOEXCEPT +# endif // defined(BOOST_ASIO_HAS_NOEXCEPT) #endif // !defined(BOOST_ASIO_NOEXCEPT) +#if !defined(BOOST_ASIO_NOEXCEPT_OR_NOTHROW) +# if defined(BOOST_ASIO_HAS_NOEXCEPT) +# define BOOST_ASIO_NOEXCEPT_OR_NOTHROW noexcept(true) +# else // defined(BOOST_ASIO_HAS_NOEXCEPT) +# define BOOST_ASIO_NOEXCEPT_OR_NOTHROW throw() +# endif // defined(BOOST_ASIO_HAS_NOEXCEPT) +#endif // !defined(BOOST_ASIO_NOEXCEPT_OR_NOTHROW) +#if !defined(BOOST_ASIO_NOEXCEPT_IF) +# if defined(BOOST_ASIO_HAS_NOEXCEPT) +# define BOOST_ASIO_NOEXCEPT_IF(c) noexcept(c) +# else // defined(BOOST_ASIO_HAS_NOEXCEPT) +# define BOOST_ASIO_NOEXCEPT_IF(c) +# endif // defined(BOOST_ASIO_HAS_NOEXCEPT) +#endif // !defined(BOOST_ASIO_NOEXCEPT_IF) // Support automatic type deduction on compilers known to support it. #if !defined(BOOST_ASIO_HAS_DECLTYPE) @@ -277,11 +342,11 @@ # endif // __has_feature(__cxx_decltype__) # endif // defined(__clang__) # if defined(__GNUC__) -# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4) # if (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) # define BOOST_ASIO_HAS_DECLTYPE 1 # endif // (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) -# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4) +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4) # endif // defined(__GNUC__) # if defined(BOOST_ASIO_MSVC) # if (_MSC_VER >= 1800) @@ -320,7 +385,7 @@ # if defined(__clang__) # if __has_feature(__cxx_return_type_deduction__) # define BOOST_ASIO_HAS_RETURN_TYPE_DEDUCTION 1 -# endif // __has_feature(__cxx_alias_templates__) +# endif // __has_feature(__cxx_return_type_deduction__) # elif (__cplusplus >= 201402) # define BOOST_ASIO_HAS_RETURN_TYPE_DEDUCTION 1 # elif defined(__cpp_return_type_deduction) @@ -354,6 +419,128 @@ # endif // !defined(BOOST_ASIO_DISABLE_CONCEPTS) #endif // !defined(BOOST_ASIO_HAS_CONCEPTS) +// Support template variables on compilers known to allow it. +#if !defined(BOOST_ASIO_HAS_VARIABLE_TEMPLATES) +# if !defined(BOOST_ASIO_DISABLE_VARIABLE_TEMPLATES) +# if defined(__clang__) +# if (__cplusplus >= 201402) +# if __has_feature(__cxx_variable_templates__) +# define BOOST_ASIO_HAS_VARIABLE_TEMPLATES 1 +# endif // __has_feature(__cxx_variable_templates__) +# endif // (__cplusplus >= 201402) +# endif // defined(__clang__) +# if defined(__GNUC__) +# if (__GNUC__ >= 6) +# if (__cplusplus >= 201402) +# define BOOST_ASIO_HAS_VARIABLE_TEMPLATES 1 +# endif // (__cplusplus >= 201402) +# endif // (__GNUC__ >= 6) +# endif // defined(__GNUC__) +# if defined(BOOST_ASIO_MSVC) +# if (_MSC_VER >= 1901) +# define BOOST_ASIO_HAS_VARIABLE_TEMPLATES 1 +# endif // (_MSC_VER >= 1901) +# endif // defined(BOOST_ASIO_MSVC) +# endif // !defined(BOOST_ASIO_DISABLE_VARIABLE_TEMPLATES) +#endif // !defined(BOOST_ASIO_HAS_VARIABLE_TEMPLATES) + +// Support SFINAEd template variables on compilers known to allow it. +#if !defined(BOOST_ASIO_HAS_SFINAE_VARIABLE_TEMPLATES) +# if !defined(BOOST_ASIO_DISABLE_SFINAE_VARIABLE_TEMPLATES) +# if defined(__clang__) +# if (__cplusplus >= 201703) +# if __has_feature(__cxx_variable_templates__) +# define BOOST_ASIO_HAS_SFINAE_VARIABLE_TEMPLATES 1 +# endif // __has_feature(__cxx_variable_templates__) +# endif // (__cplusplus >= 201703) +# endif // defined(__clang__) +# if defined(__GNUC__) +# if ((__GNUC__ == 8) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 8) +# if (__cplusplus >= 201402) +# define BOOST_ASIO_HAS_SFINAE_VARIABLE_TEMPLATES 1 +# endif // (__cplusplus >= 201402) +# endif // ((__GNUC__ == 8) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 8) +# endif // defined(__GNUC__) +# if defined(BOOST_ASIO_MSVC) +# if (_MSC_VER >= 1901) +# define BOOST_ASIO_HAS_SFINAE_VARIABLE_TEMPLATES 1 +# endif // (_MSC_VER >= 1901) +# endif // defined(BOOST_ASIO_MSVC) +# endif // !defined(BOOST_ASIO_DISABLE_SFINAE_VARIABLE_TEMPLATES) +#endif // !defined(BOOST_ASIO_HAS_SFINAE_VARIABLE_TEMPLATES) + +// Support SFINAE use of constant expressions on compilers known to allow it. +#if !defined(BOOST_ASIO_HAS_CONSTANT_EXPRESSION_SFINAE) +# if !defined(BOOST_ASIO_DISABLE_CONSTANT_EXPRESSION_SFINAE) +# if defined(__clang__) +# if (__cplusplus >= 201402) +# define BOOST_ASIO_HAS_CONSTANT_EXPRESSION_SFINAE 1 +# endif // (__cplusplus >= 201402) +# endif // defined(__clang__) +# if defined(__GNUC__) +# if (__GNUC__ >= 7) +# if (__cplusplus >= 201402) +# define BOOST_ASIO_HAS_CONSTANT_EXPRESSION_SFINAE 1 +# endif // (__cplusplus >= 201402) +# endif // (__GNUC__ >= 7) +# endif // defined(__GNUC__) +# if defined(BOOST_ASIO_MSVC) +# if (_MSC_VER >= 1901) +# define BOOST_ASIO_HAS_CONSTANT_EXPRESSION_SFINAE 1 +# endif // (_MSC_VER >= 1901) +# endif // defined(BOOST_ASIO_MSVC) +# endif // !defined(BOOST_ASIO_DISABLE_CONSTANT_EXPRESSION_SFINAE) +#endif // !defined(BOOST_ASIO_HAS_CONSTANT_EXPRESSION_SFINAE) + +// Enable workarounds for lack of working expression SFINAE. +#if !defined(BOOST_ASIO_HAS_WORKING_EXPRESSION_SFINAE) +# if !defined(BOOST_ASIO_DISABLE_WORKING_EXPRESSION_SFINAE) +# if !defined(BOOST_ASIO_MSVC) +# if (__cplusplus >= 201103) +# define BOOST_ASIO_HAS_WORKING_EXPRESSION_SFINAE 1 +# endif // (__cplusplus >= 201103) +# endif // !defined(BOOST_ASIO_MSVC) +# endif // !defined(BOOST_ASIO_DISABLE_WORKING_EXPRESSION_SFINAE) +#endif // !defined(BOOST_ASIO_HAS_WORKING_EXPRESSION_SFINAE) + +// Support ref-qualified functions on compilers known to allow it. +#if !defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) +# if !defined(BOOST_ASIO_DISABLE_REF_QUALIFIED_FUNCTIONS) +# if defined(__clang__) +# if __has_feature(__cxx_reference_qualified_functions__) +# define BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS 1 +# endif // __has_feature(__cxx_reference_qualified_functions__) +# endif // defined(__clang__) +# if defined(__GNUC__) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4) +# if (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) +# define BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS 1 +# endif // (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4) +# endif // defined(__GNUC__) +# if defined(BOOST_ASIO_MSVC) +# if (_MSC_VER >= 1900) +# define BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS 1 +# endif // (_MSC_VER >= 1900) +# endif // defined(BOOST_ASIO_MSVC) +# endif // !defined(BOOST_ASIO_DISABLE_REF_QUALIFIED_FUNCTIONS) +#endif // !defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) +#if defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) +# if !defined(BOOST_ASIO_LVALUE_REF_QUAL) +# define BOOST_ASIO_LVALUE_REF_QUAL & +# endif // !defined(BOOST_ASIO_LVALUE_REF_QUAL) +# if !defined(BOOST_ASIO_RVALUE_REF_QUAL) +# define BOOST_ASIO_RVALUE_REF_QUAL && +# endif // !defined(BOOST_ASIO_RVALUE_REF_QUAL) +#else // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) +# if !defined(BOOST_ASIO_LVALUE_REF_QUAL) +# define BOOST_ASIO_LVALUE_REF_QUAL +# endif // !defined(BOOST_ASIO_LVALUE_REF_QUAL) +# if !defined(BOOST_ASIO_RVALUE_REF_QUAL) +# define BOOST_ASIO_RVALUE_REF_QUAL +# endif // !defined(BOOST_ASIO_RVALUE_REF_QUAL) +#endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS) + // Standard library support for system errors. # if !defined(BOOST_ASIO_DISABLE_STD_SYSTEM_ERROR) # if defined(__clang__) @@ -496,7 +683,7 @@ # define BOOST_ASIO_HAS_STD_ATOMIC 1 # endif // __has_include(<atomic>) # endif // (__clang_major__ >= 10) -# endif /// defined(__apple_build_version__) && defined(_LIBCPP_VERSION) +# endif // defined(__apple_build_version__) && defined(_LIBCPP_VERSION) # endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) @@ -633,11 +820,11 @@ # endif // (__cplusplus >= 201103) # endif // defined(__clang__) # if defined(__GNUC__) -# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4) # if (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) # define BOOST_ASIO_HAS_STD_TYPE_TRAITS 1 # endif // (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) -# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4) # endif // defined(__GNUC__) # if defined(BOOST_ASIO_MSVC) # if (_MSC_VER >= 1700) @@ -653,7 +840,7 @@ # if defined(__clang__) # if __has_feature(__cxx_nullptr__) # define BOOST_ASIO_HAS_NULLPTR 1 -# endif // __has_feature(__cxx_rvalue_references__) +# endif // __has_feature(__cxx_nullptr__) # elif defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4) # if (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) @@ -808,7 +995,7 @@ # elif (__cplusplus >= 201103) # if __has_include(<future>) # define BOOST_ASIO_HAS_STD_FUTURE 1 -# endif // __has_include(<mutex>) +# endif // __has_include(<future>) # endif // (__cplusplus >= 201103) # endif // defined(__clang__) # if defined(__GNUC__) @@ -934,6 +1121,109 @@ # endif // !defined(BOOST_ASIO_DISABLE_STD_INVOKE_RESULT) #endif // !defined(BOOST_ASIO_HAS_STD_INVOKE_RESULT) +// Standard library support for std::exception_ptr and std::current_exception. +#if !defined(BOOST_ASIO_HAS_STD_EXCEPTION_PTR) +# if !defined(BOOST_ASIO_DISABLE_STD_EXCEPTION_PTR) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_STD_EXCEPTION_PTR 1 +# elif (__cplusplus >= 201103) +# define BOOST_ASIO_HAS_STD_EXCEPTION_PTR 1 +# endif // (__cplusplus >= 201103) +# elif defined(__GNUC__) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) +# if (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) +# define BOOST_ASIO_HAS_STD_EXCEPTION_PTR 1 +# endif // (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) +# endif // defined(__GNUC__) +# if defined(BOOST_ASIO_MSVC) +# if (_MSC_VER >= 1800) +# define BOOST_ASIO_HAS_STD_EXCEPTION_PTR 1 +# endif // (_MSC_VER >= 1800) +# endif // defined(BOOST_ASIO_MSVC) +# endif // !defined(BOOST_ASIO_DISABLE_STD_EXCEPTION_PTR) +#endif // !defined(BOOST_ASIO_HAS_STD_EXCEPTION_PTR) + +// Standard library support for std::nested_exception. +#if !defined(BOOST_ASIO_HAS_STD_NESTED_EXCEPTION) +# if !defined(BOOST_ASIO_DISABLE_STD_NESTED_EXCEPTION) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_STD_NESTED_EXCEPTION 1 +# elif (__cplusplus >= 201103) +# define BOOST_ASIO_HAS_STD_NESTED_EXCEPTION 1 +# endif // (__cplusplus >= 201103) +# elif defined(__GNUC__) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) +# if (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) +# define BOOST_ASIO_HAS_STD_NESTED_EXCEPTION 1 +# endif // (__cplusplus >= 201103) || defined(__GXX_EXPERIMENTAL_CXX0X__) +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) +# endif // defined(__GNUC__) +# if defined(BOOST_ASIO_MSVC) +# if (_MSC_VER >= 1900) +# define BOOST_ASIO_HAS_STD_NESTED_EXCEPTION 1 +# endif // (_MSC_VER >= 1900) +# endif // defined(BOOST_ASIO_MSVC) +# endif // !defined(BOOST_ASIO_DISABLE_STD_NESTED_EXCEPTION) +#endif // !defined(BOOST_ASIO_HAS_STD_NESTED_EXCEPTION) + +// Standard library support for std::any. +#if !defined(BOOST_ASIO_HAS_STD_ANY) +# if !defined(BOOST_ASIO_DISABLE_STD_ANY) +# if defined(__clang__) +# if (__cplusplus >= 201703) +# if __has_include(<any>) +# define BOOST_ASIO_HAS_STD_ANY 1 +# endif // __has_include(<any>) +# endif // (__cplusplus >= 201703) +# elif defined(__GNUC__) +# if (__GNUC__ >= 7) +# if (__cplusplus >= 201703) +# define BOOST_ASIO_HAS_STD_ANY 1 +# endif // (__cplusplus >= 201703) +# endif // (__GNUC__ >= 7) +# endif // defined(__GNUC__) +# if defined(BOOST_ASIO_MSVC) +# if (_MSC_VER >= 1910) && (_MSVC_LANG >= 201703) +# define BOOST_ASIO_HAS_STD_ANY 1 +# endif // (_MSC_VER >= 1910) && (_MSVC_LANG >= 201703) +# endif // defined(BOOST_ASIO_MSVC) +# endif // !defined(BOOST_ASIO_DISABLE_STD_ANY) +#endif // !defined(BOOST_ASIO_HAS_STD_ANY) + +// Standard library support for std::source_location. +#if !defined(BOOST_ASIO_HAS_STD_SOURCE_LOCATION) +# if !defined(BOOST_ASIO_DISABLE_STD_SOURCE_LOCATION) +// ... +# endif // !defined(BOOST_ASIO_DISABLE_STD_SOURCE_LOCATION) +#endif // !defined(BOOST_ASIO_HAS_STD_SOURCE_LOCATION) + +// Standard library support for std::experimental::source_location. +#if !defined(BOOST_ASIO_HAS_STD_EXPERIMENTAL_SOURCE_LOCATION) +# if !defined(BOOST_ASIO_DISABLE_STD_EXPERIMENTAL_SOURCE_LOCATION) +# if defined(__GNUC__) +# if (__cplusplus >= 201709) +# if __has_include(<experimental/source_location>) +# define BOOST_ASIO_HAS_STD_EXPERIMENTAL_SOURCE_LOCATION 1 +# endif // __has_include(<experimental/source_location>) +# endif // (__cplusplus >= 201709) +# endif // defined(__GNUC__) +# endif // !defined(BOOST_ASIO_DISABLE_STD_EXPERIMENTAL_SOURCE_LOCATION) +#endif // !defined(BOOST_ASIO_HAS_STD_EXPERIMENTAL_SOURCE_LOCATION) + +// Standard library has a source_location that we can use. +#if !defined(BOOST_ASIO_HAS_SOURCE_LOCATION) +# if !defined(BOOST_ASIO_DISABLE_SOURCE_LOCATION) +# if defined(BOOST_ASIO_HAS_STD_SOURCE_LOCATION) +# define BOOST_ASIO_HAS_SOURCE_LOCATION 1 +# elif defined(BOOST_ASIO_HAS_STD_EXPERIMENTAL_SOURCE_LOCATION) +# define BOOST_ASIO_HAS_SOURCE_LOCATION 1 +# endif // defined(BOOST_ASIO_HAS_STD_EXPERIMENTAL_SOURCE_LOCATION) +# endif // !defined(BOOST_ASIO_DISABLE_SOURCE_LOCATION) +#endif // !defined(BOOST_ASIO_HAS_SOURCE_LOCATION) + // Windows App target. Windows but with a limited API. #if !defined(BOOST_ASIO_WINDOWS_APP) # if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0603) @@ -977,17 +1267,17 @@ // Windows: target OS version. #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) # if !defined(_WIN32_WINNT) && !defined(_WIN32_WINDOWS) -# if defined(_MSC_VER) || defined(__BORLANDC__) +# if defined(_MSC_VER) || (defined(__BORLANDC__) && !defined(__clang__)) # pragma message( \ "Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. For example:\n"\ "- add -D_WIN32_WINNT=0x0601 to the compiler command line; or\n"\ "- add _WIN32_WINNT=0x0601 to your project's Preprocessor Definitions.\n"\ "Assuming _WIN32_WINNT=0x0601 (i.e. Windows 7 target).") -# else // defined(_MSC_VER) || defined(__BORLANDC__) +# else // defined(_MSC_VER) || (defined(__BORLANDC__) && !defined(__clang__)) # warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. # warning For example, add -D_WIN32_WINNT=0x0601 to the compiler command line. # warning Assuming _WIN32_WINNT=0x0601 (i.e. Windows 7 target). -# endif // defined(_MSC_VER) || defined(__BORLANDC__) +# endif // defined(_MSC_VER) || (defined(__BORLANDC__) && !defined(__clang__)) # define _WIN32_WINNT 0x0601 # endif // !defined(_WIN32_WINNT) && !defined(_WIN32_WINDOWS) # if defined(_MSC_VER) @@ -1386,9 +1676,9 @@ # if (__GNUC__ >= 3) # define BOOST_ASIO_HAS_HANDLER_HOOKS 1 # endif // (__GNUC__ >= 3) -# elif !defined(__BORLANDC__) +# elif !defined(__BORLANDC__) || defined(__clang__) # define BOOST_ASIO_HAS_HANDLER_HOOKS 1 -# endif // !defined(__BORLANDC__) +# endif // !defined(__BORLANDC__) || defined(__clang__) # endif // !defined(BOOST_ASIO_DISABLE_HANDLER_HOOKS) #endif // !defined(BOOST_ASIO_HAS_HANDLER_HOOKS) @@ -1467,7 +1757,7 @@ # define BOOST_ASIO_UNUSED_VARIABLE #endif // !defined(BOOST_ASIO_UNUSED_VARIABLE) -// Support co_await on compilers known to allow it. +// Support the co_await keyword on compilers known to allow it. #if !defined(BOOST_ASIO_HAS_CO_AWAIT) # if !defined(BOOST_ASIO_DISABLE_CO_AWAIT) # if defined(BOOST_ASIO_MSVC) @@ -1477,16 +1767,53 @@ # endif // defined(_RESUMABLE_FUNCTIONS_SUPPORTED) # endif // (_MSC_FULL_VER >= 190023506) # endif // defined(BOOST_ASIO_MSVC) +# if defined(__clang__) +# if (__cplusplus >= 202002) && (__cpp_impl_coroutine >= 201902) +# if __has_include(<coroutine>) +# define BOOST_ASIO_HAS_CO_AWAIT 1 +# endif // __has_include(<coroutine>) +# elif (__cplusplus >= 201703) && (__cpp_coroutines >= 201703) +# if __has_include(<experimental/coroutine>) +# define BOOST_ASIO_HAS_CO_AWAIT 1 +# endif // __has_include(<experimental/coroutine>) +# endif // (__cplusplus >= 201703) && (__cpp_coroutines >= 201703) +# elif defined(__GNUC__) +# if (__cplusplus >= 201709) && (__cpp_impl_coroutine >= 201902) +# if __has_include(<coroutine>) +# define BOOST_ASIO_HAS_CO_AWAIT 1 +# endif // __has_include(<coroutine>) +# endif // (__cplusplus >= 201709) && (__cpp_impl_coroutine >= 201902) +# endif // defined(__GNUC__) # endif // !defined(BOOST_ASIO_DISABLE_CO_AWAIT) -# if defined(__clang__) -# if (__cplusplus >= 201703) && (__cpp_coroutines >= 201703) -# if __has_include(<coroutine>) -# define BOOST_ASIO_HAS_CO_AWAIT 1 -# endif // __has_include(<coroutine>) -# endif // (__cplusplus >= 201703) && (__cpp_coroutines >= 201703) -# endif // defined(__clang__) #endif // !defined(BOOST_ASIO_HAS_CO_AWAIT) +// Standard library support for coroutines. +#if !defined(BOOST_ASIO_HAS_STD_COROUTINE) +# if !defined(BOOST_ASIO_DISABLE_STD_COROUTINE) +# if defined(__GNUC__) +# if (__cplusplus >= 201709) && (__cpp_impl_coroutine >= 201902) +# if __has_include(<coroutine>) +# define BOOST_ASIO_HAS_STD_COROUTINE 1 +# endif // __has_include(<coroutine>) +# endif // (__cplusplus >= 201709) && (__cpp_impl_coroutine >= 201902) +# endif // defined(__GNUC__) +# endif // !defined(BOOST_ASIO_DISABLE_STD_COROUTINE) +#endif // !defined(BOOST_ASIO_HAS_STD_COROUTINE) + +// Compiler support for the the [[nodiscard]] attribute. +#if !defined(BOOST_ASIO_NODISCARD) +# if defined(__has_cpp_attribute) +# if __has_cpp_attribute(nodiscard) +# if (__cplusplus >= 201703) +# define BOOST_ASIO_NODISCARD [[nodiscard]] +# endif // (__cplusplus >= 201703) +# endif // __has_cpp_attribute(nodiscard) +# endif // defined(__has_cpp_attribute) +#endif // !defined(BOOST_ASIO_NODISCARD) +#if !defined(BOOST_ASIO_NODISCARD) +# define BOOST_ASIO_NODISCARD +#endif // !defined(BOOST_ASIO_NODISCARD) + // Standard library support for snprintf. #if !defined(BOOST_ASIO_HAS_SNPRINTF) # if !defined(BOOST_ASIO_DISABLE_SNPRINTF) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp index 0f92263c42..438abceb67 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp @@ -19,6 +19,7 @@ #include <memory> #if !defined(BOOST_ASIO_HAS_STD_SHARED_PTR) +# include <boost/make_shared.hpp> # include <boost/shared_ptr.hpp> # include <boost/weak_ptr.hpp> #endif // !defined(BOOST_ASIO_HAS_STD_SHARED_PTR) @@ -32,9 +33,11 @@ namespace asio { namespace detail { #if defined(BOOST_ASIO_HAS_STD_SHARED_PTR) +using std::make_shared; using std::shared_ptr; using std::weak_ptr; #else // defined(BOOST_ASIO_HAS_STD_SHARED_PTR) +using boost::make_shared; using boost::shared_ptr; using boost::weak_ptr; #endif // defined(BOOST_ASIO_HAS_STD_SHARED_PTR) diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp index a2475b47cb..982c42e4fe 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/pop_options.hpp @@ -93,7 +93,7 @@ // Greenhills C++ -#elif defined(__BORLANDC__) +#elif defined(__BORLANDC__) && !defined(__clang__) // Borland C++ diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp index 05856fd9b9..201f18a042 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/push_options.hpp @@ -102,7 +102,7 @@ // Greenhills C++ -#elif defined(__BORLANDC__) +#elif defined(__BORLANDC__) && !defined(__clang__) // Borland C++ diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp index d5a8901c83..ba1a4d1486 100644 --- a/contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp +++ b/contrib/restricted/boost/asio/include/boost/asio/detail/type_traits.hpp @@ -21,15 +21,25 @@ # include <type_traits> #else // defined(BOOST_ASIO_HAS_STD_TYPE_TRAITS) # include <boost/type_traits/add_const.hpp> +# include <boost/type_traits/add_lvalue_reference.hpp> +# include <boost/type_traits/aligned_storage.hpp> +# include <boost/type_traits/alignment_of.hpp> # include <boost/type_traits/conditional.hpp> # include <boost/type_traits/decay.hpp> +# include <boost/type_traits/has_nothrow_copy.hpp> +# include <boost/type_traits/has_nothrow_destructor.hpp> # include <boost/type_traits/integral_constant.hpp> # include <boost/type_traits/is_base_of.hpp> # include <boost/type_traits/is_class.hpp> # include <boost/type_traits/is_const.hpp> # include <boost/type_traits/is_convertible.hpp> +# include <boost/type_traits/is_constructible.hpp> +# include <boost/type_traits/is_copy_constructible.hpp> +# include <boost/type_traits/is_destructible.hpp> # include <boost/type_traits/is_function.hpp> +# include <boost/type_traits/is_object.hpp> # include <boost/type_traits/is_same.hpp> +# include <boost/type_traits/remove_cv.hpp> # include <boost/type_traits/remove_pointer.hpp> # include <boost/type_traits/remove_reference.hpp> # include <boost/utility/declval.hpp> @@ -42,6 +52,9 @@ namespace asio { #if defined(BOOST_ASIO_HAS_STD_TYPE_TRAITS) using std::add_const; +using std::add_lvalue_reference; +using std::aligned_storage; +using std::alignment_of; using std::conditional; using std::decay; using std::declval; @@ -51,9 +64,21 @@ using std::integral_constant; using std::is_base_of; using std::is_class; using std::is_const; +using std::is_constructible; using std::is_convertible; +using std::is_copy_constructible; +using std::is_destructible; using std::is_function; +using std::is_move_constructible; +using std::is_nothrow_copy_constructible; +using std::is_nothrow_destructible; +using std::is_object; +using std::is_reference; using std::is_same; +using std::is_scalar; +using std::remove_cv; +template <typename T> +struct remove_cvref : remove_cv<typename std::remove_reference<T>::type> {}; using std::remove_pointer; using std::remove_reference; #if defined(BOOST_ASIO_HAS_STD_INVOKE_RESULT) @@ -66,6 +91,9 @@ using std::result_of; using std::true_type; #else // defined(BOOST_ASIO_HAS_STD_TYPE_TRAITS) using boost::add_const; +using boost::add_lvalue_reference; +using boost::aligned_storage; +using boost::alignment_of; template <bool Condition, typename Type = void> struct enable_if : boost::enable_if_c<Condition, Type> {}; using boost::conditional; @@ -76,15 +104,46 @@ using boost::integral_constant; using boost::is_base_of; using boost::is_class; using boost::is_const; +using boost::is_constructible; using boost::is_convertible; +using boost::is_copy_constructible; +using boost::is_destructible; using boost::is_function; +#if defined(BOOST_ASIO_HAS_MOVE) +template <typename T> +struct is_move_constructible : false_type {}; +#else // defined(BOOST_ASIO_HAS_MOVE) +template <typename T> +struct is_move_constructible : is_copy_constructible<T> {}; +#endif // defined(BOOST_ASIO_HAS_MOVE) +template <typename T> +struct is_nothrow_copy_constructible : boost::has_nothrow_copy<T> {}; +template <typename T> +struct is_nothrow_destructible : boost::has_nothrow_destructor<T> {}; +using boost::is_object; +using boost::is_reference; using boost::is_same; +using boost::is_scalar; +using boost::remove_cv; +template <typename T> +struct remove_cvref : remove_cv<typename boost::remove_reference<T>::type> {}; using boost::remove_pointer; using boost::remove_reference; using boost::result_of; using boost::true_type; #endif // defined(BOOST_ASIO_HAS_STD_TYPE_TRAITS) +template <typename> struct void_type { typedef void type; }; + +#if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + +template <typename...> struct conjunction : true_type {}; +template <typename T> struct conjunction<T> : T {}; +template <typename Head, typename... Tail> struct conjunction<Head, Tail...> : + conditional<Head::value, conjunction<Tail...>, Head>::type {}; + +#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) + } // namespace asio } // namespace boost diff --git a/contrib/restricted/boost/asio/ya.make b/contrib/restricted/boost/asio/ya.make index 8f36ad969c..10723ba969 100644 --- a/contrib/restricted/boost/asio/ya.make +++ b/contrib/restricted/boost/asio/ya.make @@ -9,9 +9,9 @@ LICENSE( LICENSE_TEXTS(.yandex_meta/licenses.list.txt) -VERSION(1.73.0) +VERSION(1.74.0) -ORIGINAL_SOURCE(https://github.com/boostorg/asio/archive/boost-1.73.0.tar.gz) +ORIGINAL_SOURCE(https://github.com/boostorg/asio/archive/boost-1.74.0.tar.gz) PEERDIR( contrib/libs/openssl |