Title
Library classes should have noexcept move operations
Status
resolved
Section
[library]
Submitter
BSI

Created on 2010-08-25.00:00:00 last changed 159 months ago

Messages

Date: 2011-03-24.15:58:06

Proposed resolution:

See n3157

Date: 2011-03-24.00:00:00

[ 2011-03-24 Madrid meeting ]

Resolved by papers to be listed later

Date: 2010-10-31.00:00:00

[ 2010-10-31 Daniel comments: ]

The proposed resolution of n3157 would satisfy this request.

Date: 2011-02-20.22:39:32

[ Resolution proposed by ballot comment: ]

Review every class and class template in the library. If noexcept move constructor/assignment operators can be implicitly declared, then they should be implicitly declared, or explicitly defaulted. Otherwise, a move constructor/move assignment operator with a noexcept exception specification should be provided.

Date: 2010-10-24.22:33:31

Addresses GB-61

All library types should have non-throwing move constructors and move-assignment operators unless wrapping a type with a potentially throwing move operation. When such a type is a class-template, these operations should have a conditional noexcept specification.

There are many other places where a noexcept specification may be considered, but the move operations are a special case that must be called out, to effectively support the move_if_noexcept function template.

History
Date User Action Args
2011-03-24 15:58:06adminsetmessages: + msg5677
2011-03-24 15:58:06adminsetstatus: open -> resolved
2010-10-31 11:48:59adminsetmessages: + msg5203
2010-10-31 11:48:59adminsetmessages: + msg5202
2010-10-24 22:33:31adminsetmessages: + msg5052
2010-08-25 00:00:00admincreate