C++ 命名需求: BinaryTypeTrait (自 C++11 起)
來自 cppreference.com
BinaryTypeTrait 是一種類模板,它透過 std::integral_constant(通常是 std::bool_constant)特化來描述其兩個模板型別引數之間的關係。
[編輯] 要求
- DefaultConstructible(可預設構造)和 CopyConstructible(可複製構造)。
- 接受兩個模板型別引數(額外的模板引數是可選的且允許)。
- 公開且明確地派生自 std::integral_constant 的特化,稱為其基本特性。
- 基本特性的成員名稱沒有被隱藏,並且可以明確地訪問。
[編輯] 標準庫
以下標準庫類模板滿足 BinaryTypeTrait
(C++11) |
檢查兩個型別是否相同 (類模板) |
(C++11) |
檢查一個型別是否為另一個型別的基類 (類模板) |
(C++26) |
檢查一個型別是否為另一個型別的虛基類 (類模板) |
(C++11)(C++20) |
檢查一個型別是否可以轉換為另一個型別 (類模板) |
(C++20) |
檢查兩個型別是否佈局相容 (類模板) |
檢查一個型別是否為另一個型別的指標可互轉(初始)基類 (類模板) | |
檢查一個型別是否可以使用給定引數型別進行呼叫(如同透過 std::invoke) (類模板) | |
(C++11) |
檢查指定型別是否支援 uses-allocator 構造 (類模板) |