Created on 2008-08-21.00:00:00 last changed 161 months ago
[ San Francisco: ]
NAD Editorial, see N2777.
Proposed resolution:
In [move.iterator] and [move.iter.op.index], change the declaration of move_iterator's operator[] to:
referenceunspecified operator[](difference_type n) const;
[ 2009-08-15 Howard adds: ]
I recommend closing this as a duplicate of 1051 which addresses this issue for both move_iterator and reverse_iterator.
[ 2009-07-28 Reopened by Alisdair. No longer solved by concepts. ]
move_iterator's operator[] is declared as:
reference operator[](difference_type n) const;
This has the same problem that reverse_iterator's operator[] used to have: if the underlying iterator's operator[] returns a proxy, the implicit conversion to value_type&& could end up referencing a temporary that has already been destroyed. This is essentially the same issue that we dealt with for reverse_iterator in DR 386.
History | |||
---|---|---|---|
Date | User | Action | Args |
2011-08-23 20:07:26 | admin | set | status: wp -> c++11 |
2010-10-21 18:28:33 | admin | set | messages: + msg4139 |
2010-10-21 18:28:33 | admin | set | messages: + msg4138 |
2010-10-21 18:28:33 | admin | set | messages: + msg4137 |
2010-10-21 18:28:33 | admin | set | messages: + msg4136 |
2010-10-21 18:28:33 | admin | set | messages: + msg4135 |
2008-08-21 00:00:00 | admin | create |