C++ named requirements: TriviallyCopyable
- Every copy constructor is trivial or deleted
- Every move constructor is trivial or deleted
- Every copy assignment operator is trivial or deleted
- Every move assignment operator is trivial or deleted
- at least one copy constructor, move constructor, copy assignment operator, or move assignment operator is non-deleted
- Trivial non-deleted destructor
Scalar types and arrays of TriviallyCopyable objects are TriviallyCopyable as well.
 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++11||C++03 POD with deleted non-trivial assignment was not trivial||deleted ctors/operators allowed|
|CWG 2094||C++14||Volatile scalar types are not trivially copyable (CWG 496)||made trivially copyable|
 See also
| checks if a type is trivially copyable |