From Jason Turner

[range.subrange.general]

Diff to HTML by rtfpessoa

tmp/tmp4v__i72j/{from.md → to.md} RENAMED
@@ -60,21 +60,21 @@ namespace std::ranges {
60
  template<different-from<subrange> PairLike>
61
  requires pair-like-convertible-from<PairLike, const I&, const S&>
62
  constexpr operator PairLike() const;
63
 
64
  constexpr I begin() const requires copyable<I>;
65
- [[nodiscard]] constexpr I begin() requires (!copyable<I>);
66
  constexpr S end() const;
67
 
68
  constexpr bool empty() const;
69
  constexpr make-unsigned-like-t<iter_difference_t<I>> size() const
70
  requires (K == subrange_kind::sized);
71
 
72
- [[nodiscard]] constexpr subrange next(iter_difference_t<I> n = 1) const &
73
  requires forward_iterator<I>;
74
- [[nodiscard]] constexpr subrange next(iter_difference_t<I> n = 1) &&;
75
- [[nodiscard]] constexpr subrange prev(iter_difference_t<I> n = 1) const
76
  requires bidirectional_iterator<I>;
77
  constexpr subrange& advance(iter_difference_t<I> n);
78
  };
79
 
80
  template<input_or_output_iterator I, sentinel_for<I> S>
 
60
  template<different-from<subrange> PairLike>
61
  requires pair-like-convertible-from<PairLike, const I&, const S&>
62
  constexpr operator PairLike() const;
63
 
64
  constexpr I begin() const requires copyable<I>;
65
+ constexpr I begin() requires (!copyable<I>);
66
  constexpr S end() const;
67
 
68
  constexpr bool empty() const;
69
  constexpr make-unsigned-like-t<iter_difference_t<I>> size() const
70
  requires (K == subrange_kind::sized);
71
 
72
+ constexpr subrange next(iter_difference_t<I> n = 1) const &
73
  requires forward_iterator<I>;
74
+ constexpr subrange next(iter_difference_t<I> n = 1) &&;
75
+ constexpr subrange prev(iter_difference_t<I> n = 1) const
76
  requires bidirectional_iterator<I>;
77
  constexpr subrange& advance(iter_difference_t<I> n);
78
  };
79
 
80
  template<input_or_output_iterator I, sentinel_for<I> S>