C++ concepts: TriviallyCopyable
From cppreference.com
Requirements
- Every copy constructor is Trivial or deleted (since C++14)
- Every move constructor is Trivial or deleted (since C++14)
- Every copy assignment operator is Trivial or deleted (since C++14)
- Every move assignment operator is Trivial or deleted (since C++14)
|
(since C++14) |
- Trivial non-deleted (since C++14) destructor
This implies that the class has no virtual functions or virtual base classes.
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.
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 |
See also
(C++11) |
checks if a type is trivially copyable (class template) |