C++ named requirements: MoveAssignable (since C++11)
Specifies that an instance of the type can be assigned from an rvalue argument.
[edit] Requirements
The type T satisfies MoveAssignable if
Given
-
t, a modifiable lvalue expression of typeT -
rv, an rvalue expression of typeT
The following expressions must be valid and have their specified effects
| Expression | Return type | Return value | Post-conditions |
|---|---|---|---|
| t = rv | T&
|
t
|
If t and rv do not refer to the same object , the value of t is equivalent to the value of rv before the assignment.
The new value of |
[edit] Notes
The type does not have to implement move assignment operator in order to satisfy this type requirement: a copy assignment operator that takes its parameter by value or as a const Type&, will bind to rvalue argument.
If a MoveAssignable class implements a move assignment operator, it may also implement move semantics to take advantage of the fact that the value of rv after assignment is unspecified.
[edit] See also
| (C++11)(C++11)(C++11) |
checks if a type has a move assignment operator (class template) |
| (C++20) |
specifies that a type is assignable from another type (concept) |

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
