Skip to content

Commit

Permalink
map::try_emplace : 概要文章を補強
Browse files Browse the repository at this point in the history
  • Loading branch information
faithandbrave committed Jun 23, 2023
1 parent 2c9f635 commit c9cf59d
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions reference/map/map/try_emplace.md
Expand Up @@ -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>(args)...)` から `map` に直接構築可能であること
Expand Down

0 comments on commit c9cf59d

Please sign in to comment.