<type_traits>
定義提供編譯時期常數的範本,這些常數會提供其類型引數的屬性資訊。
#include <type_traits>
備註
「類型述詞」(Type Predicate) 是採用一或兩個類型引數的範本。 當類型述詞「具有 True」(Hold True) 時,會直接或間接地公開衍生自 true_type Typedef。 當類型述詞「具有 False」(Hold False) 時,會直接或間接地公開衍生自 false_type Typedef。
「類型修飾詞」(Type Modifier) 是採用一或多個範本引數,且具有一個成員的範本,如下所示:
- typedef modified-type type;
「類型查詢」(Type Query) 是採用一或多個範本引數的範本。 類型查詢會直接或間接地公開衍生自 integral_constant<std::size_t, value>。 其具有作為引數 value 而傳遞的值。
別名範本
會提供 typename foo<T>::type 的別名範本,其中 "foo" 是範本類別名稱。 例如,add_const 具有其類型 add_const_t 的別名範本,定義為:
template<class T>
using add_const_t = typename add_const<T>::type;
add_const_t |
aligned_storage_t |
make_signed_t |
remove_pointer_t |
add_cv_t |
aligned_union_t |
make_unsigned_t |
remove_reference_t |
add_lvalue_reference_t |
common_type_t |
remove_all_extents_t |
remove_volatile_t |
add_pointer_t |
conditional_t |
remove_const_t |
result_of_t |
add_rvalue_reference_t |
decay_t |
remove_cv_t |
underlying_type_t |
add_volatile_t |
enable_if_t |
remove_extent_t |
類別
從類型建立 const 類型。 |
|
從類型建立 const/volatile 類型。 |
|
從類型建立類型的指標。 |
|
從類型建立類型的參考。 |
|
從類型建立 volatile 類型。 |
|
建立適當對齊的類型。 |
|
取得類型的對齊。 |
|
從兩個類型建立一般類型的執行個體。 |
|
從兩個類型建立一般類型的執行個體。 |
|
建立非參考、非常數或非暫時性的類型,或建立類型的指標。 |
|
建立類型的執行個體,或是未定義的類型。 |
|
取得陣列維度。 |
|
測試類型是否不會在指派時擲回。 |
|
測試類型是否不會在預設建構時擲回。 |
|
測試類型是否不會在複製建構時擲回。 |
|
測試類型是否不會在複製建構時擲回。 |
|
測試類型是否不會在預設建構時擲回。 |
|
測試類型是否有 Trivial 指派。 |
|
測試類型是否有 Trivial 預設建構函式。 |
|
測試類型是否有 Trivial 複製建構函式。 |
|
測試類型是否有 Trivial 複製建構函式。 |
|
測試類型是否有 Trivial 預設建構函式。 |
|
測試類型是否有 Trivial 解構函式。 |
|
測試類型是否有虛擬解構函式。 |
|
測試類型是否有抽象類別。 |
|
測試類型是否為算術。 |
|
測試類型是否為陣列。 |
|
測試某個類型是否為另一個類型的基底。 |
|
測試類型是否為類別。 |
|
測試類型是否不是純量。 |
|
測試類型是否為常數。 |
|
測試某個類型是否可轉換為另一個類型。 |
|
測試類型是否為空的類別。 |
|
測試類型是否為列舉。 |
|
測試類型是否為浮點。 |
|
測試類型是否為函式類型。 |
|
測試類型是否為 void 或算術。 |
|
測試類型是否為整數。 |
|
測試類型是否為 lvalue 參考。 |
|
測試類型是否為成員函式的指標。 |
|
測試類型是否為成員物件的指標。 |
|
測試類型是否為成員的指標。 |
|
測試類型是否為物件類型。 |
|
測試類型是否為 POD。 |
|
測試類型是否為指標。 |
|
測試類型是否有虛擬函式。 |
|
測試類型是否為參考。 |
|
測試類型是否為 rvalue 參考。 |
|
測試兩個類型是否一樣。 |
|
測試類型是否為純量。 |
|
測試類型是否為有正負號整數。 |
|
測試類型是否為標準配置。 |
|
測試類型是否為等位。 |
|
測試類型是否為無正負號整數。 |
|
測試類型是否為 void。 |
|
測試類型是否為暫時性。 |
|
建立類型,或是建立大於或等於類型大小的最小帶正負號類型。 |
|
建立類型,或是建立大於或等於類型大小的最小無正負號類型。 |
|
取得陣列維度的數目。 |
|
從陣列類型建立非陣列類型。 |
|
從類型建立非常數類型。 |
|
從類型建立非常數/暫時性類型。 |
|
從陣列類型建立項目類型。 |
|
從類型指標建立類型。 |
|
從類型建立非參考類型。 |
|
從類型建立非暫時性類型。 |
|
從類型及值建立整數常數。 |
Typedef
存有具有 False 值的整數常數。 |
|
存有具有 True 值的整數常數。 |