最終更新日時(UTC):
が更新

履歴 編集

<utility>

utility

<utility>ヘッダでは、その他のライブラリの至る所で使用される、幾つかの基本的な関数やクラステンプレートを定義する。

このヘッダでは、以下の標準ヘッダをインクルードする:

演算子定義

名前 説明 対応バージョン
rel_ops 関係演算子(namespace) C++20から非推奨

値の入れ替え

名前 説明 対応バージョン
swap 二つのオブジェクトの値を交換する(function template) C++11
exchange 値を書き換え、書き換え前の値を返す(function template) C++14

転送と移動

名前 説明 対応バージョン
forward 関数テンプレートの引数を転送する(function template) C++11
forward_like 第一テンプレート引数のconst性と参照修飾で引数を転送する(function template) C++23
move 左辺値を右辺値にキャストする(function template) C++11
move_if_noexcept 例外を投げないオブジェクトをムーブする(function template) C++11

型の修飾

名前 説明 対応バージョン
as_const 左辺値参照をconst左辺値参照にする (function template) C++17

型の値

名前 説明 対応バージョン
declval 指定された型の値を得る(function template) C++11

整数比較

名前 説明 対応バージョン
cmp_equal 等値比較 (function template) C++20
cmp_not_equal 非等値比較 (function template) C++20
cmp_less 左辺が右辺より小さいかを比較 (function template) C++20
cmp_less_equal 左辺が右辺以下かを比較 (function template) C++20
cmp_greater 左辺が右辺より大きいかを比較 (function template) C++20
cmp_greater_equal 左辺が右辺以上かを比較 (function template) C++20
in_range 値が型のとりうる範囲内か判定する (function template) C++20

列挙型

名前 説明 対応バージョン
to_underlying 列挙値を基底型に変換する (function template) C++23

到達しない表明

名前 説明 対応バージョン
unreachable コードパス不到達を表明する (function) C++23

名前 説明 対応バージョン
pair 異なる型の二つの値の組(class template)
make_pair pairを構築するヘルパ関数(function template)
piecewise_construct_t pairtupleの要素型のコンストラクタ引数を直接受け取って構築するためのタグ型(class) C++11
piecewise_construct pairtupleの要素型のコンストラクタ引数を直接受け取って構築するためのタグ値(constant variable) C++11
tuple tuple型の先行宣言(class template) C++11

直接構築

名前 説明 対応バージョン
in_place_t 要素型のコンストラクタ引数を直接受け取って構築するためのタグ型 (class) C++17
in_place 要素型のコンストラクタ引数を直接受け取って構築するためのタグ値 (constant variable) C++17
in_place_type_t 指定した要素型のコンストラクタ引数を直接受け取って構築するためのタグ型 (class) C++17
in_place_type 指定した要素型のコンストラクタ引数を直接受け取って構築するためのタグ値 (constant variable) C++17
in_place_index_t 指定位置にある要素型のコンストラクタ引数を直接受け取って構築するためのタグ型 (class) C++17
in_place_index 指定位置にある要素型のコンストラクタ引数を直接受け取って構築するためのタグ値 (constant variable) C++17

非型引数

名前 説明 対応バージョン
nontype_t 非型引数を表現するためのタグ型 (class template) C++26
nontype 非型引数を表現するためのタグ値 (variable template) C++26

コンパイル時の整数シーケンス

名前 説明 対応バージョン
integer_sequence 任意の整数型のシーケンス(class template) C++14
make_integer_sequence 要素数を指定して、0から始まる整数シーケンスを生成する(type-alias) C++14
index_sequence size_t型の整数シーケンス(class template) C++14
make_index_sequence 要素数を指定して、0から始まるsize_t型整数シーケンスを生成する(type-alias) C++14
index_sequence_for 型のシーケンスを、0から始まるsize_t型整数シーケンスに変換する(type-alias) C++14

参照