Section: 26.2 [ranges.syn] Status: Voting Submitter: Christopher Di Bella Opened: 2023-06-13 Last modified: 2023-11-07 21:41:54 UTC
Priority: Not Prioritized
View other active issues in [ranges.syn].
View all other issues in [ranges.syn].
View all issues with Voting status.
Discussion:
During the reflector discussion of P2836, consensus was reached that const_iterator_t<R> doesn't necessarily provide the same type as decltype(ranges::cbegin(r)), and that it should be changed to the proposed resolution below so that they're consistent.
[Varna 2023-06-14; Move to Ready]
Proposed resolution:
This wording is relative to N4950.
Modify 26.2 [ranges.syn], header <ranges> synopsis, as indicated:
[…] template<range R> using const_iterator_t = decltype(ranges::cbegin(declval<R&>()))const_iterator<iterator_t<R>>; // freestanding template<range R> using const_sentinel_t = decltype(ranges::cend(declval<R&>()))const_sentinel<sentinel_t<R>>; // freestanding […]