Created on 2011-03-29.00:00:00 last changed 155 months ago
Proposed resolution:
Apply the proposed resolution of issue 2033
[ 2012, Kona ]
Resolved by adopting the resolution in issue 2033 at this meeting.
[ 2011 Bloomington ]
This issue will be resolved by issue 2033, and closed when this issue is applied.
[ 2011-06-12: Daniel comments ]
The proposed resolution for issue 2033 should solve this issue as well.
In C++1x (N3090) there are two version of vector::resize — [vector.capacity]:
void resize(size_type sz); void resize(size_type sz, const T& c);
The text in [vector.capacity]/12 only mentions "no effects on throw" for the two args version of resize:
Requires: If an exception is thrown other than by the move constructor of a non-CopyConstructible T there are no effects.
This seems like unintentional oversight since resize(size) is semantically the same as resize(size, T()). Additionally, the C++03 standard only specify single version of resize with default for the second argument - 23.2.4:
void resize(size_type sz, T c = T());
Therefore not requiring same guarantees for both version of resize is in fact a regression.
History | |||
---|---|---|---|
Date | User | Action | Args |
2012-02-27 21:48:49 | admin | set | messages: + msg6043 |
2011-08-17 12:17:15 | admin | set | messages: + msg5862 |
2011-08-17 12:17:15 | admin | set | status: new -> resolved |
2011-06-13 13:14:58 | admin | set | messages: + msg5817 |
2011-06-12 20:55:08 | admin | set | messages: + msg5816 |
2011-03-29 00:00:00 | admin | create |