Created on 2012-09-23.00:00:00 last changed 131 months ago
Proposed resolution:
Revise [reverse.iter.opref] p1, as indicated:
Returns: addressof&(operator*()).
[ 2014-02-12 Issaquah meeting ]
Use std::addressof as the library uses elsewhere, then move as Immediate.
[ 2013-04-20, Bristol ]
Resolution: Goes to open now and move to review as soon as Daniel proposes a new wording.
The specification for reverse_iterator::operator-> returns the address of the object yielded by dereferencing with operator*, but does not have the usual wording about returning the true address of the object. As reverse_iterator requires the adapted iterator have at least the bidirectional iterator category, we know that the returned reference is a true reference, and not a proxy, hence we can use std::addressof on the reference to get the right answer.
This will most likely show itself as an issue with a list or vector of a type with such an overloaded operator, where algorithms are likely to work with a forward iteration, but not with reverse iteration.
History | |||
---|---|---|---|
Date | User | Action | Args |
2014-02-27 17:03:20 | admin | set | status: wp -> c++14 |
2014-02-20 13:52:38 | admin | set | status: immediate -> wp |
2014-02-14 16:49:03 | admin | set | messages: + msg6863 |
2014-02-14 16:49:03 | admin | set | status: open -> immediate |
2013-05-20 16:25:01 | admin | set | messages: + msg6509 |
2013-05-20 16:25:01 | admin | set | status: new -> open |
2012-09-24 14:31:12 | admin | set | messages: + msg6143 |
2012-09-23 00:00:00 | admin | create |