名前空間
変種
操作

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

提供: cppreference.com
< cpp‎ | utility
 
 
 
ヘッダ <utility> で定義
struct in_place_t {

    explicit in_place_t() = default;
};

inline constexpr in_place_t in_place{};
(C++17以上)
template <class T> struct in_place_type_t {

    explicit in_place_type_t() = default;
};
template <class T>

inline constexpr in_place_type_t<T> in_place_type{};
(C++17以上)
template <size_t I> struct in_place_index_t {

    explicit in_place_index_t() = default;
};
template <size_t I>

inline constexpr in_place_index_t<I> in_place_index{};
(C++17以上)

std::in_placestd::in_place_type および std::in_place_index は、格納されるオブジェクトをその場で構築すること、および構築するオブジェクトの型を示すために、 std::optionalstd::variant および std::any のコンストラクタに渡すことができる、曖昧性解消タグです。

対応する型および型テンプレート std::in_place_tstd::in_place_type_t および std::in_place_index_t は、意図するタグとマッチさせるために、コンストラクタの引数リストで使用できます。

[編集] 関連項目

(C++17)
値を保持するかもしれないし保持しないかもしれないラッパー
(クラステンプレート) [edit]
(C++17)
型安全な共用体
(クラステンプレート) [edit]
(C++17)
CopyConstructible な型の任意のインスタンスを保持するオブジェクト
(クラス) [edit]