This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Dup status.
2775.reverse_iterator
is does not compile for fancy pointers
Section: 24.5.1.6 [reverse.iter.elem] Status: Dup Submitter: Billy Robert O'Neal III Opened: 2016-09-23 Last modified: 2021-06-06
Priority: Not Prioritized
View all other issues in [reverse.iter.elem].
View all issues with Dup status.
Duplicate of: 1052
Discussion:
std::reverse_iterator<Iterator>::operator->()
is specified to call addressof(operator*())
, but it returns iterator_traits<Iterator>::pointer
, which may be a fancy pointer type from which no conversion from T*
is possible. It should instead delegate to the underlying iterator's operator->()
.
[Issues processing Telecon 2016-10-7]
Set status to Duplicate
Proposed resolution:
This wording is relative to N4606.
Modify [reverse.iter.opref] as indicated:
constexpr pointer operator->() const;-1- Returns:
addressof(operator*())
. Effects: IfIterator
is a pointer type, as if by:Iterator tmp = current; return --tmp;Otherwise, as if by:
Iterator tmp = current; --tmp; return tmp.operator->();
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