|
3055 | 3055 | }
|
3056 | 3056 | };
|
3057 | 3057 |
|
3058 |
| - template<class O, class T> |
| 3058 | + template<class O, class T> |
3059 | 3059 | struct out_value_result {
|
3060 | 3060 | [[no_unique_address]] O out;
|
3061 | 3061 | [[no_unique_address]] T value;
|
|
6096 | 6096 | template<@\libconcept{permutable}@ I, @\libconcept{sentinel_for}@<I> S>
|
6097 | 6097 | constexpr subrange<I> ranges::shift_right(I first, S last, iter_difference_t<I> n);
|
6098 | 6098 | template<@\libconcept{forward_range}@ R>
|
6099 |
| - requires permutable<iterator_t<R>> |
| 6099 | + requires @\libconcept{permutable}@<iterator_t<R>> |
6100 | 6100 | constexpr borrowed_subrange_t<R> ranges::shift_right(R&& r, range_difference_t<R> n);
|
6101 | 6101 | \end{itemdecl}
|
6102 | 6102 |
|
|
6105 | 6105 | \expects
|
6106 | 6106 | \tcode{n >= 0} is \tcode{true}.
|
6107 | 6107 | For the overloads in namespace \tcode{std},
|
6108 |
| -the type of \tcode{*first} meets the \oldconcept{MoveAssignable} requirements |
| 6108 | +the type of \tcode{*first} meets the \oldconcept{MoveAssignable} requirements, |
6109 | 6109 | and \tcode{ForwardIterator} meets
|
6110 | 6110 | the \oldconcept{BidirectionalIterator} requirements\iref{bidirectional.iterators} or
|
6111 | 6111 | the \oldconcept{ValueSwap\-pable} requirements.
|
|
9176 | 9176 | template<class O, class T>
|
9177 | 9177 | using iota_result = out_value_result<O, T>;
|
9178 | 9178 |
|
9179 |
| - template<@\libconcept{input_or_output_iterator}@ O, @\libconcept{sentinel_fo}@r<O> S, @\libconcept{weakly_incrementable}@ T> |
| 9179 | + template<@\libconcept{input_or_output_iterator}@ O, @\libconcept{sentinel_for}@<O> S, @\libconcept{weakly_incrementable}@ T> |
9180 | 9180 | requires @\libconcept{indirectly_writable}@<O, const T&>
|
9181 | 9181 | constexpr iota_result<O, T> iota(O first, S last, T value);
|
9182 | 9182 |
|
|
0 commit comments