C++ concepts: MoveAssignable (since C++11)
From cppreference.com
Specifies that an instance of the type can be move-assigned (moved). This means that type has move semantics: that is, can transfer its internal state to another instance of the same type potentially minimizing the overhead.
[edit] Requirements
The type must meet CopyAssignable
requirements and/or implement the following functions:
Type::operator=
Type& Type::operator=( Type&& other );
Type& Type::operator=( const Type&& other ); |
(One of the variants is sufficient) | |
Move assignment operator: assigns the contents of other
. The internal state of other
is unspecified after the move. However, it must still be valid, that is, no invariants of the type are broken. The function must return *this
.
The following expressions must have the specified effects:
Expression | Effects |
a = rv; | a is equivalent to rv , where a is an instance of Type and rv is a rvalue reference of Type .
|
[edit] See also
(C++11)
(C++11) (C++11) |
checks if a type has a move assignment operator (class template) |