@@ -72,31 +72,29 @@ class stride_view : public view_interface<stride_view<_View>> {
7272 _LIBCPP_ASSERT_UNCATEGORIZED (__stride > 0 , " The value of stride must be greater than 0" );
7373 }
7474
75- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr _View base () const &
75+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _View base () const &
7676 requires copy_constructible<_View>
7777 {
7878 return __base_;
7979 }
8080
81- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr _View base () && { return std::move (__base_); }
81+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _View base () && { return std::move (__base_); }
8282
83- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr range_difference_t <_View> stride () const noexcept {
84- return __stride_;
85- }
83+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr range_difference_t <_View> stride () const noexcept { return __stride_; }
8684
87- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr auto begin ()
85+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto begin ()
8886 requires(!__simple_view<_View>)
8987 {
9088 return __iterator<false >(this , ranges::begin (__base_), 0 );
9189 }
9290
93- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr auto begin () const
91+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto begin () const
9492 requires range<const _View>
9593 {
9694 return __iterator<true >(this , ranges::begin (__base_), 0 );
9795 }
9896
99- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr auto end ()
97+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto end ()
10098 requires(!__simple_view<_View>)
10199 {
102100 if constexpr (common_range<_View> && sized_range<_View> && forward_range<_View>) {
@@ -109,7 +107,7 @@ class stride_view : public view_interface<stride_view<_View>> {
109107 }
110108 }
111109
112- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr auto end () const
110+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto end () const
113111 requires(range<const _View>)
114112 {
115113 if constexpr (common_range<const _View> && sized_range<const _View> && forward_range<const _View>) {
@@ -122,13 +120,13 @@ class stride_view : public view_interface<stride_view<_View>> {
122120 }
123121 }
124122
125- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr auto size ()
123+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto size ()
126124 requires sized_range<_View>
127125 {
128126 return std::__to_unsigned_like (ranges::__div_ceil (ranges::distance (__base_), __stride_));
129127 }
130128
131- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr auto size () const
129+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto size () const
132130 requires sized_range<const _View>
133131 {
134132 return std::__to_unsigned_like (ranges::__div_ceil (ranges::distance (__base_), __stride_));
@@ -201,12 +199,10 @@ class stride_view<_View>::__iterator : public __stride_iterator_category<_View>
201199 __stride_(__i.__stride_),
202200 __missing_(__i.__missing_) {}
203201
204- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr iterator_t <_Base> const & base () const & noexcept {
205- return __current_;
206- }
207- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr iterator_t <_Base> base () && { return std::move (__current_); }
202+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr iterator_t <_Base> const & base () const & noexcept { return __current_; }
203+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr iterator_t <_Base> base () && { return std::move (__current_); }
208204
209- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr decltype (auto ) operator*() const {
205+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr decltype (auto ) operator*() const {
210206 _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS (__current_ != __end_, " Cannot dereference an iterator at the end." );
211207 return *__current_;
212208 }
@@ -267,7 +263,7 @@ class stride_view<_View>::__iterator : public __stride_iterator_category<_View>
267263 return *this += -__n;
268264 }
269265
270- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI constexpr decltype (auto ) operator[](difference_type __n) const
266+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr decltype (auto ) operator[](difference_type __n) const
271267 requires random_access_range<_Base>
272268 {
273269 return *(*this + __n);
@@ -313,41 +309,38 @@ class stride_view<_View>::__iterator : public __stride_iterator_category<_View>
313309 return __x.__current_ <=> __y.__current_ ;
314310 }
315311
316- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI friend constexpr __iterator
317- operator +(__iterator const & __i, difference_type __s)
312+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI friend constexpr __iterator operator +(__iterator const & __i, difference_type __s)
318313 requires random_access_range<_Base>
319314 {
320315 auto __r = __i;
321316 __r += __s;
322317 return __r;
323318 }
324- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI friend constexpr __iterator
325- operator +(difference_type __s, __iterator const & __i)
319+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI friend constexpr __iterator operator +(difference_type __s, __iterator const & __i)
326320 requires random_access_range<_Base>
327321 {
328322 auto __r = __i;
329323 __r += __s;
330324 return __r;
331325 }
332326
333- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI friend constexpr __iterator
334- operator -(__iterator const & __i, difference_type __s)
327+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI friend constexpr __iterator operator -(__iterator const & __i, difference_type __s)
335328 requires random_access_range<_Base>
336329 {
337330 auto __r = __i;
338331 __r -= __s;
339332 return __r;
340333 }
341334
342- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI friend constexpr difference_type
335+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI friend constexpr difference_type
343336 operator -(__iterator const & __x, __iterator const & __y)
344337 requires sized_sentinel_for<iterator_t <_Base>, iterator_t <_Base>> && forward_range<_Base>
345338 {
346339 auto __n = __x.__current_ - __y.__current_ ;
347340 return (__n + __x.__missing_ - __y.__missing_ ) / __x.__stride_ ;
348341 }
349342
350- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI friend constexpr difference_type
343+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI friend constexpr difference_type
351344 operator -(__iterator const & __x, __iterator const & __y)
352345 requires sized_sentinel_for<iterator_t <_Base>, iterator_t <_Base>>
353346 {
@@ -358,20 +351,20 @@ class stride_view<_View>::__iterator : public __stride_iterator_category<_View>
358351 return ranges::__div_ceil (__n, __x.__stride_ );
359352 }
360353
361- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI friend constexpr difference_type
354+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI friend constexpr difference_type
362355 operator -(default_sentinel_t , __iterator const & __x)
363356 requires sized_sentinel_for<sentinel_t <_Base>, iterator_t <_Base>>
364357 {
365358 return ranges::__div_ceil (__x.__end_ - __x.__current_ , __x.__stride_ );
366359 }
367- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI friend constexpr difference_type
360+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI friend constexpr difference_type
368361 operator -(__iterator const & __x, default_sentinel_t __y)
369362 requires sized_sentinel_for<sentinel_t <_Base>, iterator_t <_Base>>
370363 {
371364 return -(__y - __x);
372365 }
373366
374- _LIBCPP_NODISCARD _LIBCPP_HIDE_FROM_ABI friend constexpr range_rvalue_reference_t <_Base>
367+ [[nodiscard]] _LIBCPP_HIDE_FROM_ABI friend constexpr range_rvalue_reference_t <_Base>
375368 iter_move (__iterator const & __it) noexcept (noexcept (ranges::iter_move(__it.__current_))) {
376369 return ranges::iter_move (__it.__current_ );
377370 }
0 commit comments