<type_traits>

更新 : 2007 年 11 月

型引数のプロパティに関する情報を提供するコンパイル時定数を備えたテンプレートを定義します。

#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 として渡された値を保持します。

宣言

クラス

説明

add_const クラス

型から const 型を作成します。

add_cv クラス

型から const/volatile 型を作成します。

add_pointer クラス

型から型へのポインタを作成します。

add_reference クラス

型から型への参照を作成します。

add_volatile クラス

型から volatile 型を作成します。

aligned_storage クラス

適切にアライメントされた型を作成します。

alignment_of クラス

型のアライメントを取得します。

extent クラス

配列の次元を取得します。

has_nothrow_assign クラス

代入時に例外がスローされない型であるかどうかをテストします。

has_nothrow_constructor クラス

既定のコンストラクタで例外がスローされない型であるかどうかをテストします。

has_nothrow_copy クラス

コピー コンストラクタで例外がスローされない型であるかどうかをテストします。

has_trivial_assign クラス

型に自明な代入が存在するかどうかをテストします。

has_trivial_constructor クラス

型に自明な既定コンストラクタが存在するかどうかをテストします。

has_trivial_copy クラス

型に自明なコピー コンストラクタが存在するかどうかをテストします。

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_member_function_pointer クラス

型がメンバ関数へのポインタであるかどうかをテストします。

is_member_object_pointer クラス

型がメンバ オブジェクトへのポインタであるかどうかをテストします。

is_member_pointer クラス

型がメンバへのポインタであるかどうかをテストします。

is_object クラス

型がオブジェクト型であるかどうかをテストします。

is_pod クラス

型が POD であるかどうかをテストします。

is_pointer クラス

型がポインタであるかどうかをテストします。

is_polymorphic クラス

型に仮想関数が存在するかどうかをテストします。

is_reference クラス

型が参照であるかどうかをテストします。

is_same クラス

2 つの型が等しいかどうかをテストします。

is_scalar クラス

型がスカラであるかどうかをテストします。

is_signed クラス

型が符号付き整数であるかどうかをテストします。

is_union クラス

型が共用体であるかどうかをテストします。

is_unsigned クラス

型が符号なし整数であるかどうかをテストします。

is_void クラス

型が void であるかどうかをテストします。

is_volatile クラス

型が volatile であるかどうかをテストします。

rank クラス

配列の次元数を取得します。

remove_all_extents クラス

配列型から非配列型を作成します。

remove_const クラス

型から非 const 型を作成します。

remove_cv クラス

型から非 const/volatile 型を作成します。

remove_extent クラス

配列型から要素型を作成します。

remove_pointer クラス

型へのポインタから型を作成します。

remove_reference クラス

型から非参照型を作成します。

remove_volatile クラス

型から非 volatile 型を作成します。

integral_constant クラス

型および値から整数定数を作成します。

型定義

説明

false_type Typedef

false 値を持つ整数定数を保持します。

true_type Typedef

true 値を持つ整数定数を保持します。

参照

参照

<functional> (TR1)