C++ concepts: TriviallyCopyable
From cppreference.com
                    
                                        
                    
                    
                                                            
                    [edit] Requirements
- Trivial or deleted (since C++14) copy constructor
- Trivial or deleted (since C++14) move constructor
- Trivial or deleted (since C++14) copy assignment operator
- Trivial or deleted (since C++14) move assignment operator
| 
 | (since C++14) | 
- Trivial non-deleted (since C++14) destructor
- No virtual functions or virtual base classes
- All (non-static) members and base classes are TriviallyCopyable
Scalar types and arrays of TriviallyCopyable objects are TriviallyCopyable as well, as well as the const-qualified (but not volatile-qualified) versions of such types.
[edit] Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior | 
|---|---|---|---|
| CWG 1734 | C++14 | C++03 POD with deleted non-trivial assignment was not trivial | deleted ctors/operators allowed | 
[edit] See also
| (C++11) | checks if a type is trivially copyable (class template) |