const_iterator_t
should be reworkedSection: 25.2 [ranges.syn] Status: WP Submitter: Christopher Di Bella Opened: 2023-06-13 Last modified: 2023-11-22
Priority: Not Prioritized
View other active issues in [ranges.syn].
View all other issues in [ranges.syn].
View all issues with WP 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]
[2023-11-11 Approved at November 2023 meeting in Kona. Status changed: Voting → WP.]
Proposed resolution:
This wording is relative to N4950.
Modify 25.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 […]