Created on 2021-05-23.00:00:00 last changed 12 months ago
Proposed resolution:
This wording is relative to N4885.
Modify [range.transform.iterator] as indicated:
-1- iterator::iterator_concept is defined as follows:
(1.1) — If
VBase models random_access_range, then iterator_concept denotes random_access_iterator_tag.(1.2) — Otherwise, if
VBase models bidirectional_range, then iterator_concept denotes bidirectional_iterator_tag.(1.3) — Otherwise, if
VBase models forward_range, then iterator_concept denotes forward_iterator_tag.(1.4) — Otherwise, iterator_concept denotes input_iterator_tag.
Modify [range.elements.iterator] as indicated:
-1- The member typedef-name iterator_concept is defined as follows:
(1.1) — If
VBase models random_access_range, then iterator_concept denotes random_access_iterator_tag.(1.2) — Otherwise, if
VBase models bidirectional_range, then iterator_concept denotes bidirectional_iterator_tag.(1.3) — Otherwise, if
VBase models forward_range, then iterator_concept denotes forward_iterator_tag.(1.4) — Otherwise, iterator_concept denotes input_iterator_tag.
[ 2021-06-07 Approved at June 2021 virtual plenary. Status changed: Voting → WP. ]
[ 2021-05-26; Reflector poll ]
Set status to Tentatively Ready after six votes in favour during reflector poll.
transform_view::iterator<true>::iterator_concept and elements_view::iterator<true>::iterator_concept (i.e., the const versions) are currently specified as looking at the properties of V (i.e., the underlying view without const), while the actual iterator operations are all correctly specified as using Base (which includes the const). iterator_concept should do so too.
The proposed resolution has been implemented and tested on top of libstdc++.History | |||
---|---|---|---|
Date | User | Action | Args |
2023-11-22 15:47:43 | admin | set | status: wp -> c++23 |
2021-06-07 16:58:04 | admin | set | messages: + msg11916 |
2021-06-07 16:58:04 | admin | set | status: voting -> wp |
2021-05-26 21:11:22 | admin | set | status: ready -> voting |
2021-05-26 10:53:33 | admin | set | messages: + msg11859 |
2021-05-26 10:53:33 | admin | set | status: new -> ready |
2021-05-23 13:20:30 | admin | set | messages: + msg11847 |
2021-05-23 00:00:00 | admin | create |