|
336 | 336 |
|
337 | 337 | // \ref{const.iterators}, constant iterators and sentinels
|
338 | 338 | template<@\libconcept{indirectly_readable}@ I>
|
339 |
| - using iter_const_reference_t = @\seebelow@; |
| 339 | + using iter_const_reference_t = @\seebelow@; // freestanding |
340 | 340 | template<class Iterator>
|
341 | 341 | concept @\exposconcept{constant-iterator}@ = @\seebelow@; // \expos
|
342 | 342 |
|
343 | 343 | template<class Iterator>
|
344 |
| - class basic_const_iterator; |
| 344 | + class basic_const_iterator; // freestanding |
345 | 345 |
|
346 | 346 | template<class T, @\libconcept{common_with}@<T> U>
|
347 |
| - struct common_type<basic_const_iterator<T>, U> { |
| 347 | + struct common_type<basic_const_iterator<T>, U> { // freestanding |
348 | 348 | using type = basic_const_iterator<common_type_t<T, U>>;
|
349 | 349 | };
|
350 | 350 | template<class T, @\libconcept{common_with}@<T> U>
|
351 |
| - struct common_type<U, basic_const_iterator<T>> { |
| 351 | + struct common_type<U, basic_const_iterator<T>> { // freestanding |
352 | 352 | using type = basic_const_iterator<common_type_t<T, U>>;
|
353 | 353 | };
|
354 | 354 | template<class T, @\libconcept{common_with}@<T> U>
|
355 |
| - struct common_type<basic_const_iterator<T>, basic_const_iterator<U>> { |
| 355 | + struct common_type<basic_const_iterator<T>, basic_const_iterator<U>> { // freestanding |
356 | 356 | using type = basic_const_iterator<common_type_t<T, U>>;
|
357 | 357 | };
|
358 | 358 |
|
359 | 359 | template<@\libconcept{input_iterator}@ I>
|
360 |
| - using const_iterator = @\seebelow@; |
| 360 | + using const_iterator = @\seebelow@; // freestanding |
361 | 361 |
|
362 | 362 | template<class S>
|
363 |
| - using const_sentinel = @\seebelow@; |
| 363 | + using const_sentinel = @\seebelow@; // freestanding |
364 | 364 |
|
365 | 365 | template<@\libconcept{input_iterator}@ I>
|
366 |
| - constexpr const_iterator<I> make_const_iterator(I it) { return it; } |
| 366 | + constexpr const_iterator<I> make_const_iterator(I it) { return it; } // freestanding |
367 | 367 |
|
368 | 368 | template<class S>
|
369 |
| - constexpr const_sentinel<S> make_const_sentinel(S s) { return s; } |
| 369 | + constexpr const_sentinel<S> make_const_sentinel(S s) { return s; } // freestanding |
370 | 370 |
|
371 | 371 | // \ref{move.iterators}, move iterators and sentinels
|
372 | 372 | template<class Iterator> class move_iterator; // freestanding
|
|
0 commit comments