diff options
author | robot-contrib <robot-contrib@yandex-team.com> | 2022-08-10 16:40:38 +0300 |
---|---|---|
committer | robot-contrib <robot-contrib@yandex-team.com> | 2022-08-10 16:40:38 +0300 |
commit | 36029f20e99f6219d4fb0822e0d613a9d6a57aac (patch) | |
tree | 8945b9fcdf3e570673f912a26780826404c2685f | |
parent | 8c70d6f947c5f278c665b548cd583e9844e6d7ad (diff) | |
download | ydb-36029f20e99f6219d4fb0822e0d613a9d6a57aac.tar.gz |
Update contrib/restricted/boost/type_index to 1.79.0
12 files changed, 114 insertions, 77 deletions
diff --git a/contrib/restricted/boost/timer/include/boost/timer.hpp b/contrib/restricted/boost/timer/include/boost/timer.hpp index 1e3571e4177..f3ddb41f6c1 100644 --- a/contrib/restricted/boost/timer/include/boost/timer.hpp +++ b/contrib/restricted/boost/timer/include/boost/timer.hpp @@ -17,6 +17,9 @@ #ifndef BOOST_TIMER_HPP #define BOOST_TIMER_HPP +#include <boost/config/header_deprecated.hpp> +BOOST_HEADER_DEPRECATED( "the facilities in <boost/timer/timer.hpp>" ) + #include <boost/config.hpp> #include <ctime> #include <boost/limits.hpp> diff --git a/contrib/restricted/boost/timer/include/boost/timer/config.hpp b/contrib/restricted/boost/timer/include/boost/timer/config.hpp index 0c2174c3064..a7c3d9d20e8 100644 --- a/contrib/restricted/boost/timer/include/boost/timer/config.hpp +++ b/contrib/restricted/boost/timer/include/boost/timer/config.hpp @@ -64,21 +64,6 @@ #endif // !defined(BOOST_CHRONO_NO_LIB) -// Plus, Chrono uses System, so we need to link that too - -#if !defined(BOOST_SYSTEM_NO_LIB) - -#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SYSTEM_DYN_LINK) -# define BOOST_DYN_LINK -#endif - -#define BOOST_LIB_NAME boost_system - -#include <boost/config/auto_link.hpp> - -#endif // !defined(BOOST_SYSTEM_NO_LIB) - #endif // auto-linking disabled #endif // BOOST_TIMER_CONFIG_HPP - diff --git a/contrib/restricted/boost/timer/include/boost/timer/timer.hpp b/contrib/restricted/boost/timer/include/boost/timer/timer.hpp index 3c6492086d4..8bf996081d0 100644 --- a/contrib/restricted/boost/timer/include/boost/timer/timer.hpp +++ b/contrib/restricted/boost/timer/include/boost/timer/timer.hpp @@ -8,8 +8,6 @@ #ifndef BOOST_TIMER_TIMER_HPP #define BOOST_TIMER_TIMER_HPP -#include <boost/config/warning_disable.hpp> - #include <boost/timer/config.hpp> #include <boost/cstdint.hpp> #include <string> diff --git a/contrib/restricted/boost/timer/src/cpu_timer.cpp b/contrib/restricted/boost/timer/src/cpu_timer.cpp index 0802e985609..36b2ac40726 100644 --- a/contrib/restricted/boost/timer/src/cpu_timer.cpp +++ b/contrib/restricted/boost/timer/src/cpu_timer.cpp @@ -18,6 +18,7 @@ #include <boost/io/ios_state.hpp> #include <boost/throw_exception.hpp> #include <boost/cerrno.hpp> +#include <boost/predef.h> #include <cstring> #include <sstream> #include <cassert> @@ -33,7 +34,6 @@ using boost::timer::nanosecond_type; using boost::timer::cpu_times; -using boost::system::error_code; namespace { @@ -94,24 +94,25 @@ namespace } # if defined(BOOST_POSIX_API) + + boost::int_least64_t tick_factor_() + { + boost::int_least64_t tf = ::sysconf( _SC_CLK_TCK ); + if( tf <= 0 ) return -1; + + tf = INT64_C(1000000000) / tf; // compute factor + if( tf == 0 ) tf = -1; + + return tf; + } + boost::int_least64_t tick_factor() // multiplier to convert ticks // to nanoseconds; -1 if unknown { - static boost::int_least64_t tick_factor = 0; - if (!tick_factor) - { - if ((tick_factor = ::sysconf(_SC_CLK_TCK)) <= 0) - tick_factor = -1; - else - { - assert(tick_factor <= INT64_C(1000000000)); // logic doesn't handle large ticks - tick_factor = INT64_C(1000000000) / tick_factor; // compute factor - if (!tick_factor) - tick_factor = -1; - } - } - return tick_factor; + static boost::int_least64_t tf = tick_factor_(); + return tf; } + # endif void get_cpu_times(boost::timer::cpu_times& current) @@ -122,6 +123,7 @@ namespace # if defined(BOOST_WINDOWS_API) +# if BOOST_PLAT_WINDOWS_DESKTOP || defined(__CYGWIN__) FILETIME creation, exit; if (::GetProcessTimes(::GetCurrentProcess(), &creation, &exit, (LPFILETIME)¤t.system, (LPFILETIME)¤t.user)) @@ -130,6 +132,7 @@ namespace current.system *= 100; } else +# endif { current.system = current.user = boost::timer::nanosecond_type(-1); } diff --git a/contrib/restricted/boost/type_index/README.md b/contrib/restricted/boost/type_index/README.md index 19db50381a4..aebd9e84eaa 100644 --- a/contrib/restricted/boost/type_index/README.md +++ b/contrib/restricted/boost/type_index/README.md @@ -1,18 +1,16 @@ -# [Boost.TypeIndex](http://boost.org/libs/type_index) -Boost.TypeIndex is a part of the [Boost C++ Libraries](http://github.com/boostorg). It is a runtime/compile time copyable type info. +# [Boost.TypeIndex](https://boost.org/libs/type_index) +Boost.TypeIndex is a part of the [Boost C++ Libraries](https://github.com/boostorg). It is a runtime/compile time copyable type info. ### Test results @ | Build | Tests coverage | More info ----------------|-------------- | -------------- |----------- -Develop branch: | [](https://travis-ci.org/apolukhin/type_index) [](https://ci.appveyor.com/project/apolukhin/type-index/branch/develop) | [](https://coveralls.io/r/apolukhin/type_index?branch=develop) | [details...](http://www.boost.org/development/tests/develop/developer/type_index.html) -Master branch: | [](https://travis-ci.org/apolukhin/type_index) [](https://ci.appveyor.com/project/apolukhin/type-index/branch/master) | [](https://coveralls.io/r/apolukhin/type_index?branch=master) | [details...](http://www.boost.org/development/tests/master/developer/type_index.html) +Develop branch: | [](https://github.com/boostorg/type_index/actions/workflows/ci.yml) [](https://ci.appveyor.com/project/apolukhin/type-index/branch/develop) | [](https://coveralls.io/r/apolukhin/type_index?branch=develop) | [details...](https://www.boost.org/development/tests/develop/developer/type_index.html) +Master branch: | [](https://github.com/boostorg/type_index/actions/workflows/ci.yml) [](https://ci.appveyor.com/project/apolukhin/type-index/branch/master) | [](https://coveralls.io/r/apolukhin/type_index?branch=master) | [details...](https://www.boost.org/development/tests/master/developer/type_index.html) -[Open Issues](https://svn.boost.org/trac/boost/query?status=!closed&component=type_index) - -[Latest developer documentation](http://boostorg.github.com/type_index/index.html) +[Latest developer documentation](https://www.boost.org/doc/libs/develop/doc/html/boost_typeindex.html) ### License -Distributed under the [Boost Software License, Version 1.0](http://boost.org/LICENSE_1_0.txt). +Distributed under the [Boost Software License, Version 1.0](https://boost.org/LICENSE_1_0.txt). diff --git a/contrib/restricted/boost/type_index/include/boost/type_index.hpp b/contrib/restricted/boost/type_index/include/boost/type_index.hpp index 5311ac87956..7f06cef6872 100644 --- a/contrib/restricted/boost/type_index/include/boost/type_index.hpp +++ b/contrib/restricted/boost/type_index/include/boost/type_index.hpp @@ -1,5 +1,5 @@ // -// Copyright (c) Antony Polukhin, 2012-2018. +// Copyright 2012-2022 Antony Polukhin. // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/contrib/restricted/boost/type_index/include/boost/type_index/ctti_type_index.hpp b/contrib/restricted/boost/type_index/include/boost/type_index/ctti_type_index.hpp index a59b2d80a7f..9a47eb346bb 100644 --- a/contrib/restricted/boost/type_index/include/boost/type_index/ctti_type_index.hpp +++ b/contrib/restricted/boost/type_index/include/boost/type_index/ctti_type_index.hpp @@ -1,5 +1,5 @@ // -// Copyright (c) Antony Polukhin, 2013-2018. +// Copyright 2013-2022 Antony Polukhin. // // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/contrib/restricted/boost/type_index/include/boost/type_index/detail/compile_time_type_info.hpp b/contrib/restricted/boost/type_index/include/boost/type_index/detail/compile_time_type_info.hpp index 4eb2017ffc2..f89765dd7ea 100644 --- a/contrib/restricted/boost/type_index/include/boost/type_index/detail/compile_time_type_info.hpp +++ b/contrib/restricted/boost/type_index/include/boost/type_index/detail/compile_time_type_info.hpp @@ -1,5 +1,5 @@ // -// Copyright (c) Antony Polukhin, 2012-2016. +// Copyright 2012-2022 Antony Polukhin. // // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -13,15 +13,28 @@ /// \brief Contains helper macros and implementation details of boost::typeindex::ctti_type_index. /// Not intended for inclusion from user's code. +#include <cstring> #include <boost/config.hpp> #include <boost/static_assert.hpp> -#include <boost/mpl/bool.hpp> +#include <boost/type_traits/integral_constant.hpp> #ifdef BOOST_HAS_PRAGMA_ONCE # pragma once #endif /// @cond +#if defined(__has_builtin) +#if __has_builtin(__builtin_constant_p) +#define BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT(x) __builtin_constant_p(x) +#endif +#if __has_builtin(__builtin_strcmp) +#define BOOST_TYPE_INDEX_DETAIL_BUILTIN_STRCMP(str1, str2) __builtin_strcmp(str1, str2) +#endif +#elif defined(__GNUC__) +#define BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT(x) __builtin_constant_p(x) +#define BOOST_TYPE_INDEX_DETAIL_BUILTIN_STRCMP(str1, str2) __builtin_strcmp(str1, str2) +#endif + #define BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(begin_skip, end_skip, runtime_skip, runtime_skip_until) \ namespace boost { namespace typeindex { namespace detail { \ BOOST_STATIC_CONSTEXPR std::size_t ctti_skip_size_at_begin = begin_skip; \ @@ -38,10 +51,10 @@ #elif defined(BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING) # include <boost/preprocessor/facilities/expand.hpp> BOOST_PP_EXPAND( BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING ) -#elif defined(_MSC_VER) && defined (BOOST_NO_CXX11_NOEXCEPT) +#elif defined(_MSC_VER) && !defined(__clang__) && defined (BOOST_NO_CXX11_NOEXCEPT) // sizeof("const char *__cdecl boost::detail::ctti<") - 1, sizeof(">::n(void)") - 1 BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(40, 10, false, "") -#elif defined(_MSC_VER) && !defined (BOOST_NO_CXX11_NOEXCEPT) +#elif defined(_MSC_VER) && !defined(__clang__) && !defined (BOOST_NO_CXX11_NOEXCEPT) // sizeof("const char *__cdecl boost::detail::ctti<") - 1, sizeof(">::n(void) noexcept") - 1 BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(40, 19, false, "") #elif defined(__clang__) && defined(__APPLE__) @@ -59,6 +72,14 @@ // sizeof("static const char *boost::detail::ctti<") - 1, sizeof("]") - 1, true, "int>::n() [T = int" // note: checked on 3.1, 3.4 BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(39, 1, true, "T = ") +#elif defined(__EDG__) && !defined(BOOST_NO_CXX14_CONSTEXPR) + // sizeof("static cha boost::detail::ctti<T>::s() [with I = 40U, T = ") - 1, sizeof("]") - 1 + // note: checked on 4.14 + BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(58, 1, false, "") +#elif defined(__EDG__) && defined(BOOST_NO_CXX14_CONSTEXPR) + // sizeof("static const char *boost::detail::ctti<T>::n() [with T = ") - 1, sizeof("]") - 1 + // note: checked on 4.14 + BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(57, 1, false, "") #elif defined(__GNUC__) && (__GNUC__ < 7) && !defined(BOOST_NO_CXX14_CONSTEXPR) // sizeof("static constexpr char boost::detail::ctti<T>::s() [with unsigned int I = 0u; T = ") - 1, sizeof("]") - 1 BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(81, 1, false, "") @@ -68,6 +89,9 @@ #elif defined(__GNUC__) && defined(BOOST_NO_CXX14_CONSTEXPR) // sizeof("static const char* boost::detail::ctti<T>::n() [with T = ") - 1, sizeof("]") - 1 BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(57, 1, false, "") +#elif defined(__ghs__) + // sizeof("static const char *boost::detail::ctti<T>::n() [with T = ") - 1, sizeof("]") - 1 + BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(57, 1, false, "") #else // Deafult code for other platforms... Just skip nothing! BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(0, 0, false, "") @@ -97,8 +121,19 @@ namespace boost { namespace typeindex { namespace detail { ); } +#if defined(BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT) + BOOST_CXX14_CONSTEXPR BOOST_FORCEINLINE bool is_constant_string(const char* str) BOOST_NOEXCEPT { + while (BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT(*str)) { + if (*str == '\0') + return true; + ++str; + } + return false; + } +#endif // defined(BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT) + template <unsigned int ArrayLength> - BOOST_CXX14_CONSTEXPR inline const char* skip_begining_runtime(const char* begin, boost::mpl::false_) BOOST_NOEXCEPT { + BOOST_CXX14_CONSTEXPR inline const char* skip_begining_runtime(const char* begin, boost::false_type) BOOST_NOEXCEPT { return begin; } @@ -130,17 +165,29 @@ namespace boost { namespace typeindex { namespace detail { return last1; } - BOOST_CXX14_CONSTEXPR inline int constexpr_strcmp(const char *v1, const char *v2) BOOST_NOEXCEPT { + BOOST_CXX14_CONSTEXPR inline int constexpr_strcmp_loop(const char *v1, const char *v2) BOOST_NOEXCEPT { while (*v1 != '\0' && *v1 == *v2) { ++v1; ++v2; - }; + } return static_cast<int>(*v1) - *v2; } + BOOST_CXX14_CONSTEXPR inline int constexpr_strcmp(const char *v1, const char *v2) BOOST_NOEXCEPT { +#if !defined(BOOST_NO_CXX14_CONSTEXPR) && defined(BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT) && defined(BOOST_TYPE_INDEX_DETAIL_BUILTIN_STRCMP) + if (boost::typeindex::detail::is_constant_string(v1) && boost::typeindex::detail::is_constant_string(v2)) + return boost::typeindex::detail::constexpr_strcmp_loop(v1, v2); + return BOOST_TYPE_INDEX_DETAIL_BUILTIN_STRCMP(v1, v2); +#elif !defined(BOOST_NO_CXX14_CONSTEXPR) + return boost::typeindex::detail::constexpr_strcmp_loop(v1, v2); +#else + return std::strcmp(v1, v2); +#endif + } + template <unsigned int ArrayLength> - BOOST_CXX14_CONSTEXPR inline const char* skip_begining_runtime(const char* begin, boost::mpl::true_) BOOST_NOEXCEPT { + BOOST_CXX14_CONSTEXPR inline const char* skip_begining_runtime(const char* begin, boost::true_type) BOOST_NOEXCEPT { const char* const it = constexpr_search( begin, begin + ArrayLength, ctti_skip_until_runtime, ctti_skip_until_runtime + sizeof(ctti_skip_until_runtime) - 1 @@ -153,7 +200,7 @@ namespace boost { namespace typeindex { namespace detail { assert_compile_time_legths<(ArrayLength > ctti_skip_size_at_begin + ctti_skip_size_at_end)>(); return skip_begining_runtime<ArrayLength - ctti_skip_size_at_begin>( begin + ctti_skip_size_at_begin, - boost::mpl::bool_<ctti_skip_more_at_runtime>() + boost::integral_constant<bool, ctti_skip_more_at_runtime>() ); } @@ -249,7 +296,7 @@ struct ctti { || defined(__DMC__) constexpr unsigned int size = sizeof(__PRETTY_FUNCTION__); #else - boost::typeindex::detail::failed_to_get_function_name(); + boost::typeindex::detail::failed_to_get_function_name<T>(); #endif boost::typeindex::detail::assert_compile_time_legths< @@ -276,10 +323,11 @@ struct ctti { || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) \ || (defined(__ICC) && (__ICC >= 600)) \ || defined(__ghs__) \ - || defined(__DMC__) + || defined(__DMC__) \ + || defined(__clang__) return boost::typeindex::detail::skip_begining< sizeof(__PRETTY_FUNCTION__) >(__PRETTY_FUNCTION__); #else - boost::typeindex::detail::failed_to_get_function_name(); + boost::typeindex::detail::failed_to_get_function_name<T>(); return ""; #endif } diff --git a/contrib/restricted/boost/type_index/include/boost/type_index/detail/ctti_register_class.hpp b/contrib/restricted/boost/type_index/include/boost/type_index/detail/ctti_register_class.hpp index a8cef2c4972..f527ec4f1e3 100644 --- a/contrib/restricted/boost/type_index/include/boost/type_index/detail/ctti_register_class.hpp +++ b/contrib/restricted/boost/type_index/include/boost/type_index/detail/ctti_register_class.hpp @@ -1,5 +1,5 @@ // -// Copyright (c) Antony Polukhin, 2013-2014. +// Copyright 2013-2022 Antony Polukhin. // // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/contrib/restricted/boost/type_index/include/boost/type_index/detail/stl_register_class.hpp b/contrib/restricted/boost/type_index/include/boost/type_index/detail/stl_register_class.hpp index 95a26f7b0ee..96d83e890ae 100644 --- a/contrib/restricted/boost/type_index/include/boost/type_index/detail/stl_register_class.hpp +++ b/contrib/restricted/boost/type_index/include/boost/type_index/detail/stl_register_class.hpp @@ -1,5 +1,5 @@ // -// Copyright (c) Antony Polukhin, 2013-2014. +// Copyright 2013-2022 Antony Polukhin. // // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/contrib/restricted/boost/type_index/include/boost/type_index/stl_type_index.hpp b/contrib/restricted/boost/type_index/include/boost/type_index/stl_type_index.hpp index 3a9834d6854..2cbb598d7d1 100644 --- a/contrib/restricted/boost/type_index/include/boost/type_index/stl_type_index.hpp +++ b/contrib/restricted/boost/type_index/include/boost/type_index/stl_type_index.hpp @@ -1,5 +1,5 @@ // -// Copyright (c) Antony Polukhin, 2013-2018. +// Copyright 2013-2022 Antony Polukhin. // // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -32,21 +32,26 @@ #include <boost/static_assert.hpp> #include <boost/throw_exception.hpp> #include <boost/core/demangle.hpp> +#include <boost/type_traits/conditional.hpp> #include <boost/type_traits/is_const.hpp> #include <boost/type_traits/is_reference.hpp> #include <boost/type_traits/is_volatile.hpp> #include <boost/type_traits/remove_cv.hpp> #include <boost/type_traits/remove_reference.hpp> -#include <boost/mpl/if.hpp> -#include <boost/mpl/or.hpp> -#include <boost/container_hash/hash.hpp> +#if (defined(_MSC_VER) && _MSC_VER > 1600) \ + || (defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 5 && defined(__GXX_EXPERIMENTAL_CXX0X__)) \ + || (defined(__GNUC__) && __GNUC__ > 4 && __cplusplus >= 201103) +# define BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE +#else +# include <boost/container_hash/hash.hpp> +#endif #if (defined(__EDG_VERSION__) && __EDG_VERSION__ < 245) \ || (defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 744) # include <boost/type_traits/is_signed.hpp> # include <boost/type_traits/make_signed.hpp> -# include <boost/mpl/identity.hpp> +# include <boost/type_traits/type_identity.hpp> #endif #ifdef BOOST_HAS_PRAGMA_ONCE @@ -176,9 +181,7 @@ inline std::string stl_type_index::pretty_name() const { inline std::size_t stl_type_index::hash_code() const BOOST_NOEXCEPT { -#if (defined(_MSC_VER) && _MSC_VER > 1600) \ - || (defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 5 && defined(__GXX_EXPERIMENTAL_CXX0X__)) \ - || (defined(__GNUC__) && __GNUC__ > 4 && __cplusplus >= 201103) +#ifdef BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE return data_->hash_code(); #else return boost::hash_range(raw_name(), raw_name() + std::strlen(raw_name())); @@ -195,13 +198,13 @@ inline std::size_t stl_type_index::hash_code() const BOOST_NOEXCEPT { || (defined(__sgi) && defined(__host_mips)) \ || (defined(__hpux) && defined(__HP_aCC)) \ || (defined(linux) && defined(__INTEL_COMPILER) && defined(__ICC)) -# define BOOST_CLASSINFO_COMPARE_BY_NAMES +# define BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES # endif /// @endcond inline bool stl_type_index::equal(const stl_type_index& rhs) const BOOST_NOEXCEPT { -#ifdef BOOST_CLASSINFO_COMPARE_BY_NAMES +#ifdef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES return raw_name() == rhs.raw_name() || !std::strcmp(raw_name(), rhs.raw_name()); #else return !!(*data_ == *rhs.data_); @@ -209,17 +212,14 @@ inline bool stl_type_index::equal(const stl_type_index& rhs) const BOOST_NOEXCEP } inline bool stl_type_index::before(const stl_type_index& rhs) const BOOST_NOEXCEPT { -#ifdef BOOST_CLASSINFO_COMPARE_BY_NAMES +#ifdef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES return raw_name() != rhs.raw_name() && std::strcmp(raw_name(), rhs.raw_name()) < 0; #else return !!data_->before(*rhs.data_); #endif } -#ifdef BOOST_CLASSINFO_COMPARE_BY_NAMES -#undef BOOST_CLASSINFO_COMPARE_BY_NAMES -#endif - +#undef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES template <class T> @@ -232,10 +232,10 @@ inline stl_type_index stl_type_index::type_id() BOOST_NOEXCEPT { // Old EDG-based compilers seem to mistakenly distinguish 'integral' from 'signed integral' // in typeid() expressions. Full template specialization for 'integral' fixes that issue: - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< - boost::is_signed<no_cvr_prefinal_t>, + typedef BOOST_DEDUCED_TYPENAME boost::conditional< + boost::is_signed<no_cvr_prefinal_t>::value, boost::make_signed<no_cvr_prefinal_t>, - boost::mpl::identity<no_cvr_prefinal_t> + boost::type_identity<no_cvr_prefinal_t> >::type no_cvr_prefinal_lazy_t; typedef BOOST_DEDUCED_TYPENAME no_cvr_prefinal_t::type no_cvr_t; @@ -252,8 +252,8 @@ namespace detail { template <class T> inline stl_type_index stl_type_index::type_id_with_cvr() BOOST_NOEXCEPT { - typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< - boost::mpl::or_<boost::is_reference<T>, boost::is_const<T>, boost::is_volatile<T> >, + typedef BOOST_DEDUCED_TYPENAME boost::conditional< + boost::is_reference<T>::value || boost::is_const<T>::value || boost::is_volatile<T>::value, detail::cvr_saver<T>, T >::type type; @@ -273,4 +273,6 @@ inline stl_type_index stl_type_index::type_id_runtime(const T& value) BOOST_NOEX }} // namespace boost::typeindex +#undef BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE + #endif // BOOST_TYPE_INDEX_STL_TYPE_INDEX_HPP diff --git a/contrib/restricted/boost/type_index/include/boost/type_index/type_index_facade.hpp b/contrib/restricted/boost/type_index/include/boost/type_index/type_index_facade.hpp index e6dde8f3f98..9c5e5b45667 100644 --- a/contrib/restricted/boost/type_index/include/boost/type_index/type_index_facade.hpp +++ b/contrib/restricted/boost/type_index/include/boost/type_index/type_index_facade.hpp @@ -1,5 +1,5 @@ // -// Copyright (c) Antony Polukhin, 2013-2018. +// Copyright 2013-2022 Antony Polukhin. // // // Distributed under the Boost Software License, Version 1.0. (See accompanying |