名前付き要件:TriviallyCopyable
提供: cppreference.com
[編集]要件
- すべてのコピーコンストラクタがトリビアルであるか削除されている。
- すべてのムーブコンストラクタがトリビアルであるか削除されている。
- すべてのコピー代入演算子がトリビアルであるか削除されている。
- すべてのムーブ代入演算子がトリビアルであるか削除されている。
- 少なくともひとつのコピーコンストラクタ、ムーブコンストラクタ、コピー代入演算子、またはムーブ代入演算子が削除されていない。
- トリビアルな削除されていないデストラクタ。
これはクラスが仮想関数または仮想基底クラスを持たないことも暗に示します。
スカラー型および TriviallyCopyable なオブジェクトの配列は同様に TriviallyCopyable です。
[編集]欠陥報告
以下の動作変更欠陥報告は以前に発行された C++ 標準に遡って適用されました。
DR | 適用先 | 発行時の動作 | 正しい動作 |
---|---|---|---|
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 |
[編集]関連項目
(C++11) | 型がトリビアルにコピー可能かどうか調べます (クラステンプレート) |