<type_traits>
型引数のプロパティに関する情報を提供するコンパイル時定数を備えたテンプレートを定義します。
#include <type_traits>
解説
型述語は、1 つまたは 2 つの型引数を受け取るテンプレートです。 型述語が true を保持する場合は、true_type Typedef からパブリックに (直接または間接的に) 派生されます。 型述語が false を保持する場合は、false_type Typedef からパブリックに (直接または間接的に) 派生されます。
型修飾子は、次に示すように、1 つ以上のテンプレート引数を受け取るテンプレートで、メンバーを 1 つ持ちます。
- typedef modified-type type;
型クエリは、1 つ以上のテンプレート引数を受け取るテンプレートです。 型クエリは、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 型を作成します。 |
|
適切にアライメントされた型を作成します。 |
|
型のアライメントを取得します。 |
|
2 つの型の共通型のインスタンスを作成します。 |
|
2 つの型の共通型のインスタンスを作成します。 |
|
非参照、非定数、非揮発の型、または型へのポインターを作成します。 |
|
型のインスタンスまたは未定義の型を作成します。 |
|
配列の次元を取得します。 |
|
代入時に例外がスローされない型であるかどうかをテストします。 |
|
既定のコンストラクターで例外がスローされない型であるかどうかをテストします。 |
|
コピー コンストラクターで例外がスローされない型であるかどうかをテストします。 |
|
コピー コンストラクターで例外がスローされない型であるかどうかをテストします。 |
|
既定のコンストラクターで例外がスローされない型であるかどうかをテストします。 |
|
型に自明な代入が存在するかどうかをテストします。 |
|
型に自明な既定コンストラクターが存在するかどうかをテストします。 |
|
型に自明なコピー コンストラクターが存在するかどうかをテストします。 |
|
型に自明なコピー コンストラクターが存在するかどうかをテストします。 |
|
型に自明な既定コンストラクターが存在するかどうかをテストします。 |
|
型に自明なデストラクターが存在するかどうかをテストします。 |
|
型に仮想デストラクターが存在するかどうかをテストします。 |
|
型が抽象クラスであるかどうかをテストします。 |
|
型が演算型であるかどうかをテストします。 |
|
型が配列型であるかどうかをテストします。 |
|
一方の型がもう一方の型の基本クラスであるかどうかをテストします。 |
|
型がクラスであるかどうかをテストします。 |
|
型が非スカラーであるかどうかをテストします。 |
|
型が定数型であるかどうかをテストします。 |
|
一方の型をもう一方の型に変換できるかどうかをテストします。 |
|
型が空のクラスであるかどうかをテストします。 |
|
型が列挙型であるかどうかをテストします。 |
|
型が浮動小数点型であるかどうかをテストします。 |
|
型が関数型であるかどうかをテストします。 |
|
型が void または演算型であるかどうかをテストします。 |
|
型が整数型であるかどうかをテストします。 |
|
型が lvalue 参照であるかどうかをテストします。 |
|
型がメンバー関数へのポインターであるかどうかをテストします。 |
|
型がメンバー オブジェクトへのポインターであるかどうかをテストします。 |
|
型がメンバーへのポインターであるかどうかをテストします。 |
|
型がオブジェクト型であるかどうかをテストします。 |
|
型が POD であるかどうかをテストします。 |
|
型がポインターであるかどうかをテストします。 |
|
型に仮想関数が存在するかどうかをテストします。 |
|
型が参照であるかどうかをテストします。 |
|
型が rvalue 参照であるかどうかをテストします。 |
|
2 つの型が等しいかどうかをテストします。 |
|
型がスカラーであるかどうかをテストします。 |
|
型が符号付き整数であるかどうかをテストします。 |
|
型が標準レイアウト型であるかどうかをテストします。 |
|
型が共用体であるかどうかをテストします。 |
|
型が符号なし整数であるかどうかをテストします。 |
|
型が void であるかどうかをテストします。 |
|
型が volatile であるかどうかをテストします。 |
|
サイズが型以上の型または最小の符号付きの型を作成します。 |
|
サイズが型以上の型または最小の符号なしの型を作成します。 |
|
配列の次元数を取得します。 |
|
配列型から非配列型を作成します。 |
|
型から非 const 型を作成します。 |
|
型から非 const/volatile 型を作成します。 |
|
配列型から要素型を作成します。 |
|
型へのポインターから型を作成します。 |
|
型から非参照型を作成します。 |
|
型から非 volatile 型を作成します。 |
|
型および値から整数定数を作成します。 |
Typedef
false 値を持つ整数定数を保持します。 |
|
true 値を持つ整数定数を保持します。 |