Skip to content

Commit 3db23f0

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 75d9d4d commit 3db23f0

File tree

3 files changed

+42
-151
lines changed

3 files changed

+42
-151
lines changed

reference/map/map/try_emplace.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2025-05-18T05:59:17">
204-
2025年05月18日 05時59分17秒
203+
<span itemprop="datePublished" content="2025-05-19T07:09:50">
204+
2025年05月19日 07時09分50秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -273,10 +273,10 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成
273273
<ul>
274274
<li>(1)、(3)、(5)、(6) : <code>value_type</code> は、<code><a href="../../utility/piecewise_construct_t.html">piecewise_construct</a></code>, <code><a href="../../tuple/forward_as_tuple.html">forward_as_tuple</a>(k)</code>, <code><a href="../../tuple/forward_as_tuple.html">forward_as_tuple</a>(<a href="../../utility/forward.html">forward</a>&lt;Args&gt;(args)...)</code> から <code>map</code> に直接構築可能であること</li>
275275
<li>(2)、(4) : <code>value_type</code> は、<code><a href="../../utility/piecewise_construct_t.html">piecewise_construct</a></code>, <code><a href="../../tuple/forward_as_tuple.html">forward_as_tuple</a>(<a href="../../utility/move.html">move</a>(k))</code>, <code><a href="../../tuple/forward_as_tuple.html">forward_as_tuple</a>(<a href="../../utility/forward.html">forward</a>&lt;Args&gt;(args)...)</code> から <code>map</code> に直接構築可能であること</li>
276-
<li>(5), (6) : <code>key_compare::is_transparent</code> が妥当な式であること</li>
277-
<li>(5) : 以下のすべてを満たすこと:<ul>
278-
<li><code><a href="../../type_traits/is_convertible.html">is_convertible_v</a>&lt;K&amp;&amp;, const_iterator&gt; == false</code></li>
279-
<li><code><a href="../../type_traits/is_convertible.html">is_convertible_v</a>&lt;K&amp;&amp;, iterator&gt; == false</code></li>
276+
<li>(5)(6) :<ul>
277+
<li><code>key_compare::is_transparent</code> が妥当な式であること</li>
278+
<li><code><a href="../../type_traits/is_convertible.html">is_convertible_v</a>&lt;K&amp;&amp;, const_iterator&gt; == false</code>であること</li>
279+
<li><code><a href="../../type_traits/is_convertible.html">is_convertible_v</a>&lt;K&amp;&amp;, iterator&gt; == false</code>であること</li>
280280
</ul>
281281
</li>
282282
</ul>

rss.xml

Lines changed: 35 additions & 144 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,43 @@
22
<feed xmlns="http://www.w3.org/2005/Atom">
33
<title>cpprefjp - C++日本語リファレンス</title>
44
<link href="https://cpprefjp.github.io" />
5-
<updated>2025-05-18T14:42:16.463662</updated>
6-
<id>4e85c625-0314-440e-b01c-18dfd12a9d91</id>
5+
<updated>2025-05-19T07:13:24.422449</updated>
6+
<id>d4d7c307-be42-40fd-bee2-bce4cb49446e</id>
77

88

9+
<entry>
10+
<title>try_emplace -- map::try_emplace : 要件を整理 #1189</title>
11+
<link href="https://cpprefjp.github.io/reference/map/map/try_emplace.html"/>
12+
<id>0036d1d6b893ee18fda33535962addd83a622a66:reference/map/map/try_emplace.md</id>
13+
<updated>2025-05-19T16:09:50+09:00</updated>
14+
15+
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/map/map/try_emplace.md b/reference/map/map/try_emplace.md
16+
index 498af971b..c6b4b178b 100644
17+
--- a/reference/map/map/try_emplace.md
18+
+++ b/reference/map/map/try_emplace.md
19+
@@ -57,10 +57,10 @@ iterator
20+
## テンプレートパラメータ制約
21+
- (1)、(3)、(5)、(6) : `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)`&amp;lt;Args&amp;gt;(args)...)` から `map` に直接構築可能であること
22+
- (2)、(4) : `value_type` は、[`piecewise_construct`](/reference/utility/piecewise_construct_t.md), [`forward_as_tuple`](/reference/tuple/forward_as_tuple.md)`(`[`move`](/reference/utility/move.md)`(k))`, [`forward_as_tuple`](/reference/tuple/forward_as_tuple.md)`(`[`forward`](/reference/utility/forward.md)`&amp;lt;Args&amp;gt;(args)...)` から `map` に直接構築可能であること
23+
-- (5), (6) : `key_compare::is_transparent` が妥当な式であること
24+
-- (5) : 以下のすべてを満たすこと:
25+
- - [`is_convertible_v`](/reference/type_traits/is_convertible.md)`&amp;lt;K&amp;amp;&amp;amp;, const_iterator&amp;gt; == false`
26+
- - [`is_convertible_v`](/reference/type_traits/is_convertible.md)`&amp;lt;K&amp;amp;&amp;amp;, iterator&amp;gt; == false`
27+
+- (5)、(6) :
28+
+ - `key_compare::is_transparent` が妥当な式であること
29+
+ - [`is_convertible_v`](/reference/type_traits/is_convertible.md)`&amp;lt;K&amp;amp;&amp;amp;, const_iterator&amp;gt; == false`であること
30+
+ - [`is_convertible_v`](/reference/type_traits/is_convertible.md)`&amp;lt;K&amp;amp;&amp;amp;, iterator&amp;gt; == false`であること
31+
32+
なお、規格に記載はないが、`hint` は [`emplace_hint`](emplace_hint.md) と同様、コンテナの有効な読み取り専用イテレータである必要があるものと思われる。
33+
34+
&lt;/code&gt;&lt;/pre&gt;</summary>
35+
36+
<author>
37+
<name>Akira Takahashi</name>
38+
<email>[email protected]</email>
39+
</author>
40+
</entry>
41+
942
<entry>
1043
<title>try_emplace -- map::try_emplace : 要件を修正 #1189</title>
1144
<link href="https://cpprefjp.github.io/reference/map/map/try_emplace.html"/>
@@ -918,148 +951,6 @@ index f43067b02..7bb94f5dd 100644
918951
- [N4279 Improved insertion interface for unique-key maps (Revision 2.3)](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4279.html)
919952
+- [P2363R5: Extending associative containers with the remaining heterogeneous overloads](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2363r5.html)
920953
+ - C++26で`template &amp;lt;class K&amp;gt;`のバージョンが追加された
921-
&lt;/code&gt;&lt;/pre&gt;</summary>
922-
923-
<author>
924-
<name>Akira Takahashi</name>
925-
<email>[email protected]</email>
926-
</author>
927-
</entry>
928-
929-
<entry>
930-
<title>at -- map::operator[ ]とat : C++26対応として異種混合ルックアップに対応 #1189</title>
931-
<link href="https://cpprefjp.github.io/reference/map/map/at.html"/>
932-
<id>c036064051b5a5985af8b5f9777772c65eb8016f:reference/map/map/at.md</id>
933-
<updated>2025-05-15T15:31:22+09:00</updated>
934-
935-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/map/map/at.md b/reference/map/map/at.md
936-
index 16eccbdf4..fc8ffd247 100644
937-
--- a/reference/map/map/at.md
938-
+++ b/reference/map/map/at.md
939-
@@ -6,23 +6,49 @@
940-
* cpp11[meta cpp]
941-
942-
```cpp
943-
-T&amp;amp; at(const key_type&amp;amp; x);
944-
-const T&amp;amp; at(const key_type &amp;amp; x) const;
945-
+T&amp;amp; at(const key_type&amp;amp; x); // (1) C++11
946-
+const T&amp;amp; at(const key_type &amp;amp; x) const; // (2) C++11
947-
+
948-
+template&amp;lt;class K&amp;gt;
949-
+mapped_type&amp;amp; at(const K&amp;amp; x); // (3) C++26
950-
+template&amp;lt;class K&amp;gt;
951-
+const mapped_type&amp;amp; at(const K&amp;amp; x) const; // (4) C++26
952-
```
953-
954-
## 概要
955-
指定したキーを持つ要素を取得する。
956-
-要素を取り出す際にキーの存在チェックをする。
957-
+[`operator[]`](op_at.md)と違って、要素を取り出す際にキーに対応する値がなければ例外が送出される。
958-
+
959-
+- (1), (2) : クラスのテンプレートパラメータ`key_type`型のキーに対応する要素を取得する
960-
+- (3), (4) : `key_type`と比較可能な`K`型のキーに対応する要素を取得する
961-
+
962-
+
963-
+## テンプレートパラメータ制約
964-
+- (3), (4) : `key_compare::is_transparent` が妥当な式であること
965-
+
966-
+
967-
+## 事前条件
968-
+- (3), (4) : [`find`](find.md)`(x)`が妥当な式であり、定義された動作をすること
969-
970-
971-
## 戻り値
972-
-キー`x`に対応する値を返す。対応する要素が存在しないときは、[`out_of_range`](/reference/stdexcept.md)例外を投げる。
973-
+キー`x`に対応する値を返す。
974-
975-
976-
## 計算量
977-
要素数に対して対数時間
978-
979-
980-
+## 例外
981-
+- 対応する要素が存在しない場合、[`std::out_of_range`](/reference/stdexcept.md)例外を送出する
982-
+
983-
+
984-
+## 備考
985-
+- (3), (4) :
986-
+ - `is_transparent`は、標準ライブラリの[`std::less`](/reference/functional/less.md)、[`std::greater`](/reference/functional/greater.md)といった関数オブジェクトの、`void`に対する特殊化で定義される。それ以外のテンプレートパラメータで`is_transparent`が定義されないのは、互換性のためである。
987-
+ - これらのオーバーロードは、`map&amp;lt;string, int&amp;gt;`のようなコンテナに対し、検索操作で文字列リテラルを渡した際に、キー型の一時オブジェクトが生成されるコストを減らすためにある。
988-
+
989-
+
990-
## 例
991-
```cpp example
992-
#include &amp;lt;iostream&amp;gt;
993-
@@ -78,4 +104,6 @@ exception std::out_of_range
994-
995-
## 参照
996-
- [LWG Issue 464. Suggestion for new member functions in standard containers](http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#464)
997-
-
998-
+## 参照
999-
+- [P2363R5 Extending associative containers with the remaining heterogeneous overloads](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2363r5.html)
1000-
+ - C++26で`template &amp;lt;class K&amp;gt;`のバージョンが追加された
1001-
&lt;/code&gt;&lt;/pre&gt;</summary>
1002-
1003-
<author>
1004-
<name>Akira Takahashi</name>
1005-
<email>[email protected]</email>
1006-
</author>
1007-
</entry>
1008-
1009-
<entry>
1010-
<title>operator[] -- map::operator[ ]とat : C++26対応として異種混合ルックアップに対応 #1189</title>
1011-
<link href="https://cpprefjp.github.io/reference/map/map/op_at.html"/>
1012-
<id>c036064051b5a5985af8b5f9777772c65eb8016f:reference/map/map/op_at.md</id>
1013-
<updated>2025-05-15T15:31:22+09:00</updated>
1014-
1015-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/map/map/op_at.md b/reference/map/map/op_at.md
1016-
index 99d6e53ee..eb7b29d3c 100644
1017-
--- a/reference/map/map/op_at.md
1018-
+++ b/reference/map/map/op_at.md
1019-
@@ -6,12 +6,23 @@
1020-
1021-
```cpp
1022-
T&amp;amp; operator[](const key_type&amp;amp; x); // (1) C++03
1023-
+
1024-
T&amp;amp; operator[](key_type&amp;amp;&amp;amp; x); // (2) C++11
1025-
+
1026-
+template &amp;lt;class K&amp;gt;
1027-
+T&amp;amp; operator[](K&amp;amp;&amp;amp; x); // (3) C++26
1028-
```
1029-
1030-
## 概要
1031-
指定したキーを持つ要素を取得する。対応する要素が存在しない場合は生成して返す。
1032-
1033-
+- (1), (2) : クラスのテンプレートパラメータ`key_type`型のキーに対応する要素を取得する
1034-
+- (3) : `key_type`と比較可能な`K`型のキーに対応する要素を取得する
1035-
+
1036-
+
1037-
+## テンプレートパラメータ制約
1038-
+- (3) : `key_compare::is_transparent` が妥当な式であること
1039-
+
1040-
1041-
## 戻り値
1042-
キー`x`に対応する値を返す。対応する要素が存在しない場合は、要素を値初期化して参照を返す。
1043-
@@ -21,6 +32,12 @@ T&amp;amp; operator[](key_type&amp;amp;&amp;amp; x); // (2) C++11
1044-
要素数に対して対数時間
1045-
1046-
1047-
+## 備考
1048-
+- (3) :
1049-
+ - `is_transparent`は、標準ライブラリの[`std::less`](/reference/functional/less.md)、[`std::greater`](/reference/functional/greater.md)といった関数オブジェクトの、`void`に対する特殊化で定義される。それ以外のテンプレートパラメータで`is_transparent`が定義されないのは、互換性のためである。
1050-
+ - これらのオーバーロードは、`map&amp;lt;string, int&amp;gt;`のようなコンテナに対し、検索操作で文字列リテラルを渡した際に、キー型の一時オブジェクトが生成されるコストを減らすためにある。
1051-
+
1052-
+
1053-
## 例
1054-
```cpp example
1055-
#include &amp;lt;iostream&amp;gt;
1056-
@@ -56,3 +73,6 @@ a
1057-
| [`insert`](insert.md) | 要素を挿入する |
1058-
1059-
1060-
+## 参照
1061-
+- [P2363R5 Extending associative containers with the remaining heterogeneous overloads](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2363r5.html)
1062-
+ - C++26で`template &amp;lt;class K&amp;gt;`のバージョンが追加された
1063954
&lt;/code&gt;&lt;/pre&gt;</summary>
1064955

1065956
<author>

sitemap.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14906,7 +14906,7 @@
1490614906

1490714907
<url>
1490814908
<loc>https://cpprefjp.github.io/reference/map/map/try_emplace.html</loc>
14909-
<lastmod>2025-05-18T14:59:17+09:00</lastmod>
14909+
<lastmod>2025-05-19T16:09:50+09:00</lastmod>
1491014910
<changefreq>daily</changefreq>
1491114911
<priority>0.6</priority>
1491214912
</url>

0 commit comments

Comments
 (0)