|
5458 | 5458 | friend constexpr iter_difference_t<I2> operator-(
|
5459 | 5459 | const common_iterator& x, const common_iterator<I2, S2>& y);
|
5460 | 5460 |
|
5461 |
| - friend constexpr iter_rvalue_reference_t<I> iter_move(const common_iterator& i) |
| 5461 | + friend constexpr decltype(auto) iter_move(const common_iterator& i) |
5462 | 5462 | noexcept(noexcept(ranges::iter_move(declval<const I&>())))
|
5463 | 5463 | requires @\libconcept{input_iterator}@<I>;
|
5464 | 5464 | template<@\libconcept{indirectly_swappable}@<I> I2, class S2>
|
|
5800 | 5800 |
|
5801 | 5801 | \indexlibrarymember{iter_move}{common_iterator}%
|
5802 | 5802 | \begin{itemdecl}
|
5803 |
| -friend constexpr iter_rvalue_reference_t<I> iter_move(const common_iterator& i) |
| 5803 | +friend constexpr decltype(auto) iter_move(const common_iterator& i) |
5804 | 5804 | noexcept(noexcept(ranges::iter_move(declval<const I&>())))
|
5805 | 5805 | requires @\libconcept{input_iterator}@<I>;
|
5806 | 5806 | \end{itemdecl}
|
|
5959 | 5959 | friend constexpr strong_ordering operator<=>(
|
5960 | 5960 | const counted_iterator& x, const counted_iterator<I2>& y);
|
5961 | 5961 |
|
5962 |
| - friend constexpr iter_rvalue_reference_t<I> iter_move(const counted_iterator& i) |
| 5962 | + friend constexpr decltype(auto) iter_move(const counted_iterator& i) |
5963 | 5963 | noexcept(noexcept(ranges::iter_move(i.current)))
|
5964 | 5964 | requires @\libconcept{input_iterator}@<I>;
|
5965 | 5965 | template<@\libconcept{indirectly_swappable}@<I> I2>
|
|
6387 | 6387 |
|
6388 | 6388 | \indexlibrarymember{iter_move}{counted_iterator}%
|
6389 | 6389 | \begin{itemdecl}
|
6390 |
| -friend constexpr iter_rvalue_reference_t<I> |
| 6390 | +friend constexpr decltype(auto) |
6391 | 6391 | iter_move(const counted_iterator& i)
|
6392 | 6392 | noexcept(noexcept(ranges::iter_move(i.current)))
|
6393 | 6393 | requires @\libconcept{input_iterator}@<I>;
|
|
0 commit comments