<type_traits>

定義範本,提供給其型別引數內容的相關資訊的編譯時期常數。

#include <type_traits>

備註

A 型別述詞是一種使用一或兩個型別引數的範本。當型別述詞推出,也同樣,它公開衍生,直接或間接從true_type Typedef。當型別述詞 ,則為 false 會保留,它公開衍生,直接或間接從false_type Typedef

A 型別修飾詞是一種範本可接受一或多個樣板引數,而且具有一個成員,如下:

  • typedef modified-type type;

A 型別查詢是一種範本可接受一或多個樣板引數。公開衍生型別查詢,直接或間接從integral_constant<std::size_t, value>。它會保存值作為引數傳遞的value。

Bb982077.collapse_all(zh-tw,VS.110).gif類別

add_const

讓const型別從型別。

add_cv

讓const/volatile型別從型別。

add_pointer

可從型別。

add_reference

讓參考可以在此輸入從型別。

add_volatile

讓volatile型別從型別。

aligned_storage

可適當地對齊的型別。

alignment_of

取得型別的對齊方式。

common_type

讓兩種常見的型別的執行個體。

條件式

讓兩種常見的型別的執行個體。

延遲

讓非參考、 非常數或靜態型別,或使輸入的指標。

enable_if

可讓型別或未定義的型別執行個體。

範圍

取得陣列維度。

has_nothrow_assign

測試類型不會擲回是否指派。

has_nothrow_constructor

測試是否不會在預設的建構不會擲回型別。

has_nothrow_copy

測試是否不會在複製建構並不會擲回型別。

has_nothrow_copy_constructor

如果在複製建構的型別不能擲回的測試。

has_nothrow_default_constructor

如果在預設的建構的型別不能擲回的測試。

has_trivial_assign

測試是否該型別具有一般的指派。

has_trivial_constructor

測試是否該型別具有一個一般的預設建構函式。

has_trivial_copy

測試是否該型別具有一個一般的複製建構函式。

has_trivial_copy_constructor

測試類型都有一個簡單的複製建構函式。

has_trivial_default_constructor

如果型別具有一個一般的預設建構函式的測試。

has_trivial_destructor

測試是否該型別具有解構函式小事一樁。

has_virtual_destructor

測試是否該型別具有虛擬解構函式。

is_abstract

測試是否有型別是抽象類別。

is_arithmetic

測試是否為算術的型別。

is_array

測試是否有型別是陣列。

is_base_of

測試一種型別是否為另一個基底。

is_class

測試是否有型別是一種類別。

is_compound

測試是否不是純量型別。

is_const

測試是否為常數的型別。

is_convertible

測試是否可以轉換成另一種型別。

is_empty

測試類型是否為空的類別。

is_enum

測試是否有型別是列舉型別。

is_floating_point

測試是否有型別是浮點數。

is_function

測試類型是否為函式型別。

is_fundamental

測試是否為型別void或算術。

is_integral

測試是否為整數類資料的型別。

is_lvalue_reference

如果型別會測試lvalue的參考。

is_member_function_pointer

測試類型是否是指向成員函式。

is_member_object_pointer

測試類型是否為成員物件的指標。

is_member_pointer

測試類型是否為成員的指標。

is_object

測試是否有型別是 object 型別。

is_pod

測試 POD 型別是否。

is_pointer

測試類型是否為指標。

is_polymorphic

測試是否該型別具有虛擬函式。

is_reference

測試是否型別為參考。

is_rvalue_reference

如果型別會測試rvalue的參考。

is_same

測試是否有兩種類型相同。

is_scalar

測試是否為數值類的型別。

is_signed

測試類型是否為帶正負號的整數。

is_standard_layout

如果型別是標準的版面配置的測試。

is_union

測試類型是否為等位。

is_unsigned

測試類型是否為不帶正負號的整數。

is_void

測試是否有型別是 void。

is_volatile

測試是否為動態的型別。

make_signed

可輸入或最小排帶正負號輸入大於或等於輸入的大小。

make_unsigned

可輸入或未簽署小輸入大於或等於輸入的大小。

陣序規範

取得陣列的維度數目。

remove_all_extents

從陣列型別,可讓非陣列型別。

remove_const

從型別會非常數的型別。

remove_cv

從型別可 const/靜態型別。

remove_extent

從陣列型別會讓項目型別。

remove_pointer

讓輸入變數的指標,輸入從。

remove_reference

從型別,可讓非參考型別。

remove_volatile

從型別,可讓靜態型別。

integral_constant

可從型別和值的整數常數。

Bb982077.collapse_all(zh-tw,VS.110).gifTypedef

false_type

會保留,則為 false 值的整數常數。

true_type

會保留整數常數的值,則為 true。

請參閱

參考

<functional>