Title
The definition of const_iterator_t should be reworked
Status
wp
Section
[ranges.syn]
Submitter
Christopher Di Bella

Created on 2023-06-13.00:00:00 last changed 13 months ago

Messages

Date: 2023-11-13.14:08:10

Proposed resolution:

This wording is relative to N4950.

  1. Modify [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
    […]
    
Date: 2023-11-11.00:00:00

[ 2023-11-11 Approved at November 2023 meeting in Kona. Status changed: Voting → WP. ]

Date: 2023-06-26.21:51:28

[ Varna 2023-06-14; Move to Ready ]

Date: 2023-06-13.00:00:00

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.

History
Date User Action Args
2023-11-13 14:08:10adminsetmessages: + msg13842
2023-11-13 14:08:10adminsetstatus: voting -> wp
2023-11-07 21:41:54adminsetstatus: ready -> voting
2023-06-26 21:51:28adminsetmessages: + msg13672
2023-06-26 21:51:28adminsetstatus: new -> ready
2023-06-13 20:00:41adminsetmessages: + msg13629
2023-06-13 00:00:00admincreate