diff --git a/reference/map/map/try_emplace.md b/reference/map/map/try_emplace.md index 504b254d5..b9cb7d7b3 100644 --- a/reference/map/map/try_emplace.md +++ b/reference/map/map/try_emplace.md @@ -21,11 +21,18 @@ iterator try_emplace(const_iterator hint, key_type&& k, Args&&... args); * pair[link /reference/utility/pair.md] ## 概要 +指定されたキーが存在しない場合のみ要素を直接構築で挿入する。 + 引数 `k` と等価のキーを持つ要素が存在しない場合、コンテナに新しい要素を挿入する。要素は引数からコンテナ内に直接構築されるため、構築されたオブジェクトはコピーもムーブもされない。 なお、本メンバ関数は [`emplace`](emplace.md) や [`emplace_hint`](emplace_hint.md) 等と異なり、引数 `k` と等価のキーを持つ要素が既に存在する場合には、`k` や `args` がムーブされてしまうことはない。 引数 `hint` は、`k` を検索する際のヒントに使用される。 +- (1) : 指定されたキーが存在しない場合に、要素を直接構築で挿入する +- (2) : 指定された一時オブジェクトのキーが存在しない場合に、要素を直接構築で挿入する +- (3) : キーを検索するヒントを指定し、指定されたキーが存在しない場合に、要素を直接構築で挿入する +- (4) : キーを検索するヒントを指定し、指定された一時オブジェクトのキーが存在しない場合に、要素を直接構築で挿入する + ## テンプレートパラメータ制約 - (1)、(3) : `value_type` は、[`piecewise_construct`](/reference/utility/piecewise_construct_t.md), [`forward_as_tuple`](/reference/tuple/forward_as_tuple.md)`(k)`, [`forward_as_tuple`](/reference/tuple/forward_as_tuple.md)`(`[`forward`](/reference/utility/forward.md)`(args)...)` から `map` に直接構築可能であること