diff options
author | armenqa <armenqa@yandex-team.com> | 2024-01-19 12:23:50 +0300 |
---|---|---|
committer | armenqa <armenqa@yandex-team.com> | 2024-01-19 13:10:03 +0300 |
commit | 2de0149d0151c514b22bca0760b95b26c9b0b578 (patch) | |
tree | 2bfed9f3bce7e643ddf048bb61ce3dc0a714bcc2 /contrib/libs/cxxsupp/libcxx/include/__algorithm/unique_copy.h | |
parent | a8c06d218f12b2406fbce24d194885c5d7b68503 (diff) | |
download | ydb-2de0149d0151c514b22bca0760b95b26c9b0b578.tar.gz |
feat contrib: aiogram 3
Relates: https://st.yandex-team.ru/, https://st.yandex-team.ru/
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx/include/__algorithm/unique_copy.h')
-rw-r--r-- | contrib/libs/cxxsupp/libcxx/include/__algorithm/unique_copy.h | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/include/__algorithm/unique_copy.h b/contrib/libs/cxxsupp/libcxx/include/__algorithm/unique_copy.h index c7c8d8e9d8..81fcd50f01 100644 --- a/contrib/libs/cxxsupp/libcxx/include/__algorithm/unique_copy.h +++ b/contrib/libs/cxxsupp/libcxx/include/__algorithm/unique_copy.h @@ -34,7 +34,7 @@ struct __read_from_tmp_value_tag {}; } // namespace __unique_copy_tags template <class _AlgPolicy, class _BinaryPredicate, class _InputIterator, class _Sent, class _OutputIterator> -_LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI pair<_InputIterator, _OutputIterator> +_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI pair<_InputIterator, _OutputIterator> __unique_copy(_InputIterator __first, _Sent __last, _OutputIterator __result, @@ -56,7 +56,7 @@ __unique_copy(_InputIterator __first, } template <class _AlgPolicy, class _BinaryPredicate, class _ForwardIterator, class _Sent, class _OutputIterator> -_LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI pair<_ForwardIterator, _OutputIterator> +_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI pair<_ForwardIterator, _OutputIterator> __unique_copy(_ForwardIterator __first, _Sent __last, _OutputIterator __result, @@ -78,7 +78,7 @@ __unique_copy(_ForwardIterator __first, } template <class _AlgPolicy, class _BinaryPredicate, class _InputIterator, class _Sent, class _InputAndOutputIterator> -_LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI pair<_InputIterator, _InputAndOutputIterator> +_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI pair<_InputIterator, _InputAndOutputIterator> __unique_copy(_InputIterator __first, _Sent __last, _InputAndOutputIterator __result, @@ -95,27 +95,26 @@ __unique_copy(_InputIterator __first, } template <class _InputIterator, class _OutputIterator, class _BinaryPredicate> -inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_AFTER_CXX17 _OutputIterator +inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _OutputIterator unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) { - using __algo_tag = typename conditional< + using __algo_tag = __conditional_t< is_base_of<forward_iterator_tag, typename iterator_traits<_InputIterator>::iterator_category>::value, __unique_copy_tags::__reread_from_input_tag, - typename conditional< + __conditional_t< is_base_of<forward_iterator_tag, typename iterator_traits<_OutputIterator>::iterator_category>::value && is_same< typename iterator_traits<_InputIterator>::value_type, typename iterator_traits<_OutputIterator>::value_type>::value, __unique_copy_tags::__reread_from_output_tag, - __unique_copy_tags::__read_from_tmp_value_tag>::type >::type; + __unique_copy_tags::__read_from_tmp_value_tag> >; return std::__unique_copy<_ClassicAlgPolicy>( std::move(__first), std::move(__last), std::move(__result), __pred, __algo_tag()) .second; } template <class _InputIterator, class _OutputIterator> -inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_AFTER_CXX17 _OutputIterator +inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _OutputIterator unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { - typedef typename iterator_traits<_InputIterator>::value_type __v; - return std::unique_copy(std::move(__first), std::move(__last), std::move(__result), __equal_to<__v>()); + return std::unique_copy(std::move(__first), std::move(__last), std::move(__result), __equal_to()); } _LIBCPP_END_NAMESPACE_STD |