Title
basic_ios::move should accept lvalues
Status
c++11
Section
[basic.ios.members]
Submitter
Howard Hinnant

Created on 2009-04-25.00:00:00 last changed 161 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

Add a signature to the existing prototype in the synopsis of [ios] and in [basic.ios.members]:

void move(basic_ios& rhs);
void move(basic_ios&& rhs);
Date: 2010-10-21.18:28:33

[ 2009 Santa Cruz: ]

Move to Ready.

Date: 2009-05-23.00:00:00

[ 2009-05-23 Howard adds: ]

Added overload, moved to Review.

Date: 2010-10-21.18:28:33

[ Batavia (2009-05): ]

Tom prefers, on general principles, to provide both overloads. Alisdair agrees.

Howard points out that there is no backward compatibility issue as this is new to C++0X.

We agree that both overloads should be provided, and Howard will provide the additional wording. Move to Open.

Date: 2009-04-25.00:00:00

With the rvalue reference changes in N2844 basic_ios::move no longer has the most convenient signature:

void move(basic_ios&& rhs);

This signature should be changed to accept lvalues. It does not need to be overloaded to accept rvalues. This is a special case that only derived clients will see. The generic move still needs to accept rvalues.

History
Date User Action Args
2011-08-23 20:07:26adminsetstatus: wp -> c++11
2010-10-21 18:28:33adminsetmessages: + msg743
2010-10-21 18:28:33adminsetmessages: + msg742
2010-10-21 18:28:33adminsetmessages: + msg741
2010-10-21 18:28:33adminsetmessages: + msg740
2009-04-25 00:00:00admincreate