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) |