C++ named requirements: CopyAssignable
From cppreference.com
                    
                                        
                    
                    
                                                            
                    Specifies that an instance of the type can be copy-assigned from an lvalue expression.
Requirements
The type T satisfies CopyAssignable if
-  The type 
Tsatisfies MoveAssignable, and 
Given
-  
t, a modifiable lvalue expression of typeT -  
v, an lvalue expression of typeTorconst Tor an rvalue expression of typeconst T 
The following expressions must be valid and have their specified effects
| Expression | Return type | Return value | Post-conditions | 
|---|---|---|---|
| t = v |  T&
 | 
 t
 | 
 The value of t is equivalent to the value of v.
The value of   | 
See also
|    (C++11)(C++11)(C++11)  | 
   checks if a type has a copy assignment operator   (class template)  |