- utility[meta header]
<utility>ヘッダでは、その他のライブラリの至る所で使用される、幾つかの基本的な関数やクラステンプレートを定義する。
このヘッダでは、以下の標準ヘッダをインクルードする:
<initializer_list>(C++11)
| 名前 | 説明 | 対応バージョン |
|---|---|---|
rel_ops |
関係演算子(namespace) | C++20から非推奨 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
swap |
二つのオブジェクトの値を交換する(function template) | C++11 |
exchange |
値を書き換え、書き換え前の値を返す(function template) | C++14 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
forward |
関数テンプレートの引数を転送する(function template) | C++11 |
move |
左辺値を右辺値にキャストする(function template) | C++11 |
move_if_noexcept |
例外を投げないオブジェクトをムーブする(function template) | C++11 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
declval |
指定された型の値を得る(function template) | C++11 |
as_const |
左辺値参照をconst左辺値参照にする |
C++17 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
pair |
異なる型の二つの値の組(class template) | |
make_pair |
pairを構築するヘルパ関数(function template) |
|
piecewise_construct_t |
pairやtupleの要素型のコンストラクタ引数を直接受け取って構築するためのタグ型(class) |
C++11 |
piecewise_construct |
pairやtupleの要素型のコンストラクタ引数を直接受け取って構築するためのタグ値(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 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
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 |