C++ concepts: CopyAssignable

From cppreference.com

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

This concept implies MoveAssignable.

[edit] 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 variants is sufficient)

Copy assignment operator: assigns the contents of other. The internal state of other must not be modified.

The following expressions must have the specified effects:

Expression Effects
a = v; a is equivalent to v, where a is an instance of Type and v is an instance of Type. v must be unchanged.

[edit] See also

checks if a type has a copy assignment operator
(class template)