diff options
author | Andrey Khalyavin <halyavin@gmail.com> | 2022-06-02 00:33:58 +0300 |
---|---|---|
committer | Andrey Khalyavin <halyavin@gmail.com> | 2022-06-02 00:33:58 +0300 |
commit | e673b301b03ea16c0bdc9537de9501f1c9b4cf28 (patch) | |
tree | 27631393b7e7889db9ac6fcbd8e6b61b0f5a1ba0 /contrib/libs/cxxsupp/libcxx/include/string_view | |
parent | 5424a48cca3b5a79e8431052b74fafb9768e669e (diff) | |
download | ydb-e673b301b03ea16c0bdc9537de9501f1c9b4cf28.tar.gz |
Update libc++ to eaadc451 (4 Feb 2022).
Notable changes:
* fix chrono::duration constructor constraint
* delete base class for std::basic_string
* add ranges::in_out_out_result and ranges::in_in_out_result
* implement indirectly_copyable{,_storable} concepts
* rename __referenceable to __can_reference to match text of the standard
* add _LIBCPP_HAS_NO_CONCEPTS guards where concepts are used
* simplify no concepts guards
* add specifications for basic_common_reference and common_type for pair
* make _VSTD an alias for std so that it can be removed in the future
* remove std from friend declaration to facilitate switch from _VSTD to std
* fix TOCTOU issue with std::filesystem::remove_all
* add additional constraints to std::ranges::get for subranges when N == 0
* pick unique bit for __regex_word constant
* use vsnprintf instead of _vsnprintf on Windows
* ADL-proof ranges::iter_swap and ranges::iter_move
* implement std::ranges::distance
* merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS
ref:b637aa39f39243eeac99a2109af1daaac7c29316
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx/include/string_view')
-rw-r--r-- | contrib/libs/cxxsupp/libcxx/include/string_view | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/include/string_view b/contrib/libs/cxxsupp/libcxx/include/string_view index c4bc2c03a1..a3c4ac7a81 100644 --- a/contrib/libs/cxxsupp/libcxx/include/string_view +++ b/contrib/libs/cxxsupp/libcxx/include/string_view @@ -294,7 +294,7 @@ public: #endif } -#if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_RANGES) +#if !defined(_LIBCPP_HAS_NO_CONCEPTS) template <contiguous_iterator _It, sized_sentinel_for<_It> _End> requires (is_same_v<iter_value_t<_It>, _CharT> && !is_convertible_v<_End, size_type>) constexpr _LIBCPP_HIDE_FROM_ABI basic_string_view(_It __begin, _End __end) @@ -304,7 +304,7 @@ public: } #endif -#if _LIBCPP_STD_VER > 20 && !defined(_LIBCPP_HAS_NO_RANGES) +#if _LIBCPP_STD_VER > 20 && !defined(_LIBCPP_HAS_NO_CONCEPTS) template <class _Range> requires ( !is_same_v<remove_cvref_t<_Range>, basic_string_view> && @@ -719,23 +719,23 @@ private: size_type __size; }; -#if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_RANGES) +#if !defined(_LIBCPP_HAS_NO_CONCEPTS) template <class _CharT, class _Traits> inline constexpr bool ranges::enable_view<basic_string_view<_CharT, _Traits>> = true; template <class _CharT, class _Traits> inline constexpr bool ranges::enable_borrowed_range<basic_string_view<_CharT, _Traits> > = true; -#endif // _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_RANGES) +#endif // !defined(_LIBCPP_HAS_NO_CONCEPTS) // [string.view.deduct] -#if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_RANGES) +#if !defined(_LIBCPP_HAS_NO_CONCEPTS) template <contiguous_iterator _It, sized_sentinel_for<_It> _End> basic_string_view(_It, _End) -> basic_string_view<iter_value_t<_It>>; #endif -#if _LIBCPP_STD_VER > 20 && !defined(_LIBCPP_HAS_NO_RANGES) +#if _LIBCPP_STD_VER > 20 && !defined(_LIBCPP_HAS_NO_CONCEPTS) template <ranges::contiguous_range _Range> basic_string_view(_Range) -> basic_string_view<ranges::range_value_t<_Range>>; #endif |