std::in_place, std::in_place_type, std::in_place_index, std::in_place_t, std::in_place_type_t, std::in_place_index_t
From cppreference.com
| ヘッダ <utility> で定義 |
||
std::in_place_t 型。コンストラクタのパラメータリストで使用され、意図されたタグにマッチします。 |
(1) | (C++17以降) |
std::in_place インスタンス。 |
(2) | (C++17以降) |
| template< class T > std::in_place_type_t 型。コンストラクタのパラメータリストで使用され、意図されたタグにマッチします。 |
(3) | (C++17以降) |
| template< class T > std::in_place_type インスタンス。 |
(4) | (C++17以降) |
| テンプレート。 std::in_place_index_t 型。コンストラクタのパラメータリストで使用され、意図されたタグにマッチします。 |
(5) | (C++17以降) |
| テンプレート。 std::in_place_index インスタンス。 |
(6) | (C++17以降) |
1,3,5)
std::in_place_t、std::in_place_type_t、std::in_place_index_t は、コンストラクタのパラメータリストで使用され、意図されたタグにマッチさせることができます。2,4,6) (1,3,5) の対応する
std::in_place、std::in_place_type、std::in_place_index インスタンスは、コンストラクタに渡すことで、格納されるオブジェクトをインプレースで構築することを示す(後者の2つについては、構築されるオブジェクトの型も示す)ための、名前解決のためのタグです。[編集] 標準ライブラリ
以下の標準ライブラリ型は、名前解決のためのタグとして (1-6) を使用します。
| (C++17) |
任意の CopyConstructible な型のインスタンスを保持するオブジェクト (クラス) |
| (C++23) |
期待される値またはエラー値のいずれかを含むラッパー (クラステンプレート) |
| (C++23) |
与えられた呼び出しシグネチャで修飾子をサポートする任意の呼び出し可能オブジェクトのムーブ専用ラッパー (クラステンプレート) |
| (C++17) |
オブジェクトを保持しているかもしれないし、していないかもしれないラッパー (クラステンプレート) |
| (C++17) |
型安全な判別共用体 (クラステンプレート) |
[編集] 関連項目
| (C++23) |
範囲の要素がソートされ、一意であることを示す (タグ) |
| 範囲の要素がソートされていることを示す (一意性は不要) (タグ) |