Title
Effects of resize(size()) on a vector
Status
c++11
Section
[vector.capacity]
Submitter
BSI

Created on 2011-03-24.00:00:00 last changed 161 months ago

Messages

Date: 2011-03-24.17:25:52

Proposed resolution:

Change [vector.capacity] p. 9 as follows:

void resize(size_type sz);

9 Effects: If sz <= size(), equivalent to erase(begin() + sz, end());. If size() < sz, appends sz - size() value-initialized elements to the sequence.

10 Requires: T shall be CopyInsertable into *this.

Date: 2011-03-24.00:00:00

[ 2011-03-24 Daniel comments ]

During the edit of this issue some non-conflicting overlap with 2033 became obvious. CopyInsertable should be MoveInsertable and there is missing the DefaultConstructible requirements, but this should be fixed by 2033.

Date: 2011-03-24.00:00:00

Addresses GB-117

[vector.capacity] p. 9 (Same as for [deque.capacity] p. 1 i.e. deque::resize). There is no mention of what happens if sz==size(). While it obviously does nothing I feel a standard needs to say this explicitely.

Suggested resolution:

Append "If sz == size(), does nothing" to the effects.

History
Date User Action Args
2011-08-23 20:07:26adminsetstatus: wp -> c++11
2011-04-11 11:23:23adminsetstatus: immediate -> wp
2011-03-24 17:40:23adminsetstatus: new -> immediate
2011-03-24 14:52:02adminsetmessages: + msg5670
2011-03-24 14:52:02adminsetmessages: + msg5669
2011-03-24 00:00:00admincreate