File tree Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Original file line number Diff line number Diff line change 4216
4216
template<class I>
4217
4217
concept @\exposconcept {not-a-const-iterator}@ = @\seebelow@ ; // \expos
4218
4218
4219
+ template<@\libconcept {indirectly_readable}@ I>
4220
+ using @\exposidnc {iter-const-rvalue-reference-t}@ = // \expos
4221
+ common_reference_t<const iter_value_t<I>&&, iter_rvalue_reference_t<I>>;
4222
+
4219
4223
template<@\libconcept {input_iterator}@ Iterator>
4220
4224
class @\libglobal {basic_const_iterator}@ {
4221
4225
Iterator @\exposidnc {current_}@ = Iterator(); // \expos
4222
4226
using @\exposidnc {reference}@ = iter_const_reference_t<Iterator>; // \expos
4227
+ using @\exposidnc {rvalue-reference}@ = // \expos
4228
+ @\exposid {iter-const-rvalue-reference-t}@<Iterator>;
4223
4229
4224
4230
public:
4225
4231
using iterator_concept = @\seebelow@ ;
4315
4321
template<@\exposconcept {not-a-const-iterator}@ S>
4316
4322
requires @\libconcept {sized_sentinel_for}@<S, Iterator>
4317
4323
friend constexpr difference_type operator-(const S& x, const basic_const_iterator& y);
4324
+ friend constexpr @\exposid {rvalue-reference}@ iter_move(const basic_const_iterator& i)
4325
+ noexcept(noexcept(static_cast<@\exposid {rvalue-reference}@>(ranges::iter_move(i.@\exposid {current_}@))))
4326
+ {
4327
+ return static_cast<@\exposid {rvalue-reference}@>(ranges::iter_move(i.@\exposid {current_}@));
4328
+ }
4318
4329
};
4319
4330
}
4320
4331
\end {codeblock }
You can’t perform that action at this time.
0 commit comments