名前空間
変種
操作

std::expected<T,E>::emplace

From cppreference.com
 
 
ユーティリティライブラリ
言語サポート
型のサポート (基本型、RTTI)
ライブラリ機能検査マクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20で非推奨)
 
 
プライマリテンプレート
template< class... Args >
constexpr T& emplace( Args&&... args ) noexcept;
(1) (C++23から)
template< class U, class... Args >
constexpr T& emplace( std::initializer_list<U> il, Args&&... args ) noexcept;
(2) (C++23から)
void 部分特殊化
constexpr void emplace() noexcept;
(3) (C++23から)

expected の値をインプレースで構築します。呼び出し後、has_value() は true を返します。

1) 格納されている値を破棄し、その後 *this に格納されている expected の値を std::forward<Args>(args)...直接初期化します。
このオーバーロードは、std::is_nothrow_constructible_v<T, Args...>true の場合にのみ、オーバーロード解決に参加します。
2) 格納されている値を破棄し、その後 *this に格納されている expected の値を il および std::forward<Args>(args)... で直接初期化します。
このオーバーロードは、std::is_nothrow_constructible_v<T, std::initializer_list<U>&, Args...>true の場合にのみ、オーバーロード解決に参加します。
3) *this が unexpected 値を格納している場合、その値を破棄します。

目次

[編集] パラメータ

args - コンストラクタに渡す引数
il - コンストラクタに渡す初期化リスト

[編集] 戻り値

[編集] 注意

T の構築が例外を投げる可能性がある場合、代わりに operator= を使用できます。

[編集]

[編集] 関連項目

内容を代入する
(public member function) [編集]
English 日本語 中文(简体) 中文(繁體)