Namespaces
Variants
Views
Actions

cpp/named req/CopyAssignable

From cppreference.com
< cpp‎ | named req
Revision as of 06:51, 11 March 2012 by P12 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Template:cpp/concept/title Template:cpp/concept/sidebar

Specifies that an instance of the type can be copy-assigned (copied).

Requirements

The type must implement the following functions:

Type::operator=

Type& Type::operator=( Type&& other );

Type& Type::operator=( const Type&& other );
Type& Type::operator=( volatile Type&& other );

Type& Type::operator=( const volatile Type&& other );
(One of the functions 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:

Template:tdcl list begin Template:tdcl list hitem Template:tdcl list item Template:tdcl list end