From c9cf59db4c0ab7b178340eef2d8f9c5799e5220c Mon Sep 17 00:00:00 2001 From: Akira Takahashi Date: Fri, 23 Jun 2023 17:37:04 +0900 Subject: [PATCH] =?UTF-8?q?map::try=5Femplace=20:=20=E6=A6=82=E8=A6=81?= =?UTF-8?q?=E6=96=87=E7=AB=A0=E3=82=92=E8=A3=9C=E5=BC=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/map/map/try_emplace.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/reference/map/map/try_emplace.md b/reference/map/map/try_emplace.md index 504b254d51..b9cb7d7b38 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` に直接構築可能であること