C++ 名前付き要件: BinaryTypeTrait (C++11 以降)
From cppreference.com
BinaryTypeTrait は、2 つのテンプレート型パラメータとその std::integral_constant (通常は std::bool_constant) の特殊化との関係を記述するクラステンプレートです。
[編集] 要件
- DefaultConstructible および CopyConstructible。
- 2 つのテンプレート型パラメータを取ります (追加のテンプレートパラメータは任意であり、許可されます)。
- std::integral_constant の特殊化から、その *基底特性* として知られるものから、公開かつ曖昧さなく派生します。
- *基底特性* のメンバ名は隠されず、曖昧さなく利用できます。
[編集] 標準ライブラリ
以下の標準ライブラリクラステンプレートは、BinaryTypeTrait を満たします。
| (C++11) |
2つの型が同じであるかをチェックする (クラステンプレート) |
| (C++11) |
ある型が他の型の基底であるかをチェックする (クラステンプレート) |
| (C++26) |
ある型が他の型の仮想基底であるかをチェックする (クラステンプレート) |
| (C++11)(C++20) |
ある型が他の型に変換可能であるかをチェックする (クラステンプレート) |
| (C++20) |
2つの型がレイアウト互換であるかをチェックする (クラステンプレート) |
| ある型が他の型のポインタ相互変換可能な(初期)基底であるかをチェックする (クラステンプレート) | |
| ある型が与えられた引数型で(std::invokeのように)呼び出し可能であるかをチェックする (クラステンプレート) | |
| (C++11) |
指定された型が uses-allocator 構築をサポートしているかどうかをチェックします (クラステンプレート) |