From eed6911ccd65e7a145d6d28ec933dec79390028c Mon Sep 17 00:00:00 2001 From: Marc Auberer Date: Sat, 21 Sep 2024 22:47:15 +0200 Subject: [PATCH] [libc++] Add [[nodiscard]] to std::prev and std::next --- libcxx/include/__iterator/next.h | 8 ++++---- libcxx/include/__iterator/prev.h | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libcxx/include/__iterator/next.h b/libcxx/include/__iterator/next.h index fb6c8ea6d75508..4064bcec4e183b 100644 --- a/libcxx/include/__iterator/next.h +++ b/libcxx/include/__iterator/next.h @@ -43,25 +43,25 @@ next(_InputIter __x, typename iterator_traits<_InputIter>::difference_type __n = namespace ranges { struct __next { template - _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x) const { + [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x) const { ++__x; return __x; } template - _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x, iter_difference_t<_Ip> __n) const { + [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x, iter_difference_t<_Ip> __n) const { ranges::advance(__x, __n); return __x; } template _Sp> - _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x, _Sp __bound_sentinel) const { + [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x, _Sp __bound_sentinel) const { ranges::advance(__x, __bound_sentinel); return __x; } template _Sp> - _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x, iter_difference_t<_Ip> __n, _Sp __bound_sentinel) const { + [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x, iter_difference_t<_Ip> __n, _Sp __bound_sentinel) const { ranges::advance(__x, __n, __bound_sentinel); return __x; } diff --git a/libcxx/include/__iterator/prev.h b/libcxx/include/__iterator/prev.h index e950d8dc414717..0b88d33d924cfe 100644 --- a/libcxx/include/__iterator/prev.h +++ b/libcxx/include/__iterator/prev.h @@ -42,19 +42,19 @@ prev(_InputIter __x, typename iterator_traits<_InputIter>::difference_type __n = namespace ranges { struct __prev { template - _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x) const { + [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x) const { --__x; return __x; } template - _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x, iter_difference_t<_Ip> __n) const { + [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x, iter_difference_t<_Ip> __n) const { ranges::advance(__x, -__n); return __x; } template - _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x, iter_difference_t<_Ip> __n, _Ip __bound_iter) const { + [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _Ip operator()(_Ip __x, iter_difference_t<_Ip> __n, _Ip __bound_iter) const { ranges::advance(__x, -__n, __bound_iter); return __x; }