This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Resolved status.
3408. LWG 3291 reveals deficiencies incounted_iterator
Section: 24.5.7.1 [counted.iterator] Status: Resolved Submitter: Patrick Palka Opened: 2020-02-25 Last modified: 2021-05-18
Priority: 2
View all other issues in [counted.iterator].
View all issues with Resolved status.
Discussion:
LWG 3291(i) makes changes to iota_view
so that it no longer falsely claims it's a C++17 forward iterator. A side effect of this change is that the counted_iterator
of an iota_view
can no longer model forward_iterator
, no matter what the properties of the underlying weakly_incrementable
type are. For example, the following snippet is ill-formed after LWG 3291:
auto v = views::iota(0); auto i = counted_iterator{v.begin(), 5}; static_assert(random_access_iterator<decltype(i)>); // fails after LWG 3291
The problem seems to be that counted_iterator
populates its iterator_traits
but it does not specify its iterator_concept
, so we fall back to looking at its iterator_category
to determine its C++20 iterator-ness. It seems counted_iterator
should specify its iterator_concept
appropriately based on the iterator_concept
of the iterator it wraps.
[2020-03-29 Issue Prioritization]
Priority to 2 after reflector discussion.
[2021-05-18 Resolved by the adoption of P2259R1 at the February 2021 plenary. Status changed: New → Resolved.]
Proposed resolution:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4