noexcept
move operationsSection: 16 [library] Status: Resolved Submitter: BSI Opened: 2010-08-25 Last modified: 2016-01-28
Priority: Not Prioritized
View other active issues in [library].
View all other issues in [library].
View all issues with Resolved status.
Discussion:
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.
[ 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.
[ 2010-10-31 Daniel comments: ]
The proposed resolution of n3157 would satisfy this request.
[2011-03-24 Madrid meeting]
Resolved by papers to be listed later
Proposed resolution:
See n3157