|
2 | 2 | <feed xmlns="http://www.w3.org/2005/Atom"> |
3 | 3 | <title>cpprefjp - C++日本語リファレンス</title> |
4 | 4 | <link href="https://cpprefjp.github.io" /> |
5 | | - <updated>2025-05-17T14:42:24.135672</updated> |
6 | | - <id>95efea7e-a584-4981-8393-9321de84d8d6</id> |
| 5 | + <updated>2025-05-18T06:02:49.199310</updated> |
| 6 | + <id>407a11f7-4695-4fa2-9602-216660dd87c2</id> |
7 | 7 |
|
8 | 8 |
|
| 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>3175722cafabd80cce386bdfb2de0656b1ac46b8:reference/map/map/try_emplace.md</id> |
| 13 | + <updated>2025-05-18T14:59:17+09:00</updated> |
| 14 | + |
| 15 | + <summary type="html"><pre><code>diff --git a/reference/map/map/try_emplace.md b/reference/map/map/try_emplace.md |
| 16 | +index 7bb94f5dd..498af971b 100644 |
| 17 | +--- a/reference/map/map/try_emplace.md |
| 18 | ++++ b/reference/map/map/try_emplace.md |
| 19 | +@@ -55,16 +55,19 @@ iterator |
| 20 | + |
| 21 | + |
| 22 | + ## テンプレートパラメータ制約 |
| 23 | +-- (1)、(3)、(5) : `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)`&lt;Args&gt;(args)...)` から `map` に直接構築可能であること |
| 24 | +-- (2)、(4)、(6) : `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)`&lt;Args&gt;(args)...)` から `map` に直接構築可能であること |
| 25 | ++- (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)`&lt;Args&gt;(args)...)` から `map` に直接構築可能であること |
| 26 | ++- (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)`&lt;Args&gt;(args)...)` から `map` に直接構築可能であること |
| 27 | + - (5), (6) : `key_compare::is_transparent` が妥当な式であること |
| 28 | ++- (5) : 以下のすべてを満たすこと: |
| 29 | ++ - [`is_convertible_v`](/reference/type_traits/is_convertible.md)`&lt;K&amp;&amp;, const_iterator&gt; == false` |
| 30 | ++ - [`is_convertible_v`](/reference/type_traits/is_convertible.md)`&lt;K&amp;&amp;, iterator&gt; == false` |
| 31 | + |
| 32 | + なお、規格に記載はないが、`hint` は [`emplace_hint`](emplace_hint.md) と同様、コンテナの有効な読み取り専用イテレータである必要があるものと思われる。 |
| 33 | + |
| 34 | + |
| 35 | + ## 効果 |
| 36 | +-- (1)、(3)、(5) : `map` が `k` と同値のキーを持つ要素を持っている場合、何もしない(引数への副作用もない)。そうでなければ、[`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)`&lt;Args&gt;(args)...)` から構築した `value_type` 型のオブジェクトを挿入する。 |
| 37 | +-- (2)、(4)、(6) : `map` が `k` と同値のキーを持つ要素を持っている場合、何もしない(引数への副作用もない)。そうでなければ、[`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)`&lt;Args&gt;(args)...)` から構築した `value_type` 型のオブジェクトを挿入する。 |
| 38 | ++- (1)、(3)、(5)、(6) : `map` が `k` と同値のキーを持つ要素を持っている場合、何もしない(引数への副作用もない)。そうでなければ、[`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)`&lt;Args&gt;(args)...)` から構築した `value_type` 型のオブジェクトを挿入する。 |
| 39 | ++- (2)、(4) : `map` が `k` と同値のキーを持つ要素を持っている場合、何もしない(引数への副作用もない)。そうでなければ、[`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)`&lt;Args&gt;(args)...)` から構築した `value_type` 型のオブジェクトを挿入する。 |
| 40 | + |
| 41 | + |
| 42 | + ## 戻り値 |
| 43 | +</code></pre></summary> |
| 44 | + |
| 45 | + <author> |
| 46 | + <name>Akira Takahashi</name> |
| 47 | + |
| 48 | + </author> |
| 49 | + </entry> |
| 50 | + |
9 | 51 | <entry> |
10 | 52 | <title>execution -- execution: continues_on,schedule_from (#1384)</title> |
11 | 53 | <link href="https://cpprefjp.github.io/reference/execution/execution.html"/> |
@@ -1018,165 +1060,6 @@ index 99d6e53ee..eb7b29d3c 100644 |
1018 | 1060 | +## 参照 |
1019 | 1061 | +- [P2363R5 Extending associative containers with the remaining heterogeneous overloads](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2363r5.html) |
1020 | 1062 | + - C++26で`template &lt;class K&gt;`のバージョンが追加された |
1021 | | -</code></pre></summary> |
1022 | | - |
1023 | | - <author> |
1024 | | - <name>Akira Takahashi</name> |
1025 | | - |
1026 | | - </author> |
1027 | | - </entry> |
1028 | | - |
1029 | | - <entry> |
1030 | | - <title>宣言のみで使用しない変数の名前として_をサポート [P2169R4] -- ignore : C++26対応として詳細な定義を追加し、例を追加 (close #1315)</title> |
1031 | | - <link href="https://cpprefjp.github.io/lang/cpp26/nice_placeholder_with_no_name.html"/> |
1032 | | - <id>676aba0cd327f2f742d2d3f3bb89c29e08247b74:lang/cpp26/nice_placeholder_with_no_name.md</id> |
1033 | | - <updated>2025-05-15T14:13:05+09:00</updated> |
1034 | | - |
1035 | | - <summary type="html"><pre><code>diff --git a/lang/cpp26/nice_placeholder_with_no_name.md b/lang/cpp26/nice_placeholder_with_no_name.md |
1036 | | -index 8e36638dc..e26b12587 100644 |
1037 | | ---- a/lang/cpp26/nice_placeholder_with_no_name.md |
1038 | | -+++ b/lang/cpp26/nice_placeholder_with_no_name.md |
1039 | | -@@ -86,6 +86,7 @@ int main() { |
1040 | | - |
1041 | | - ## &lt;a id=&#34;relative-page&#34; href=&#34;#relative-page&#34;&gt;関連項目&lt;/a&gt; |
1042 | | - - [C++17 `[[maybe_unused]]`属性](/lang/cpp17/maybe_unused.md) |
1043 | | -+- [`std::ignore`](/reference/tuple/ignore.md) |
1044 | | - |
1045 | | - ## 参照 |
1046 | | - - [P2169R4 A nice placeholder with no name](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2169r4.pdf) |
1047 | | -</code></pre></summary> |
1048 | | - |
1049 | | - <author> |
1050 | | - <name>Akira Takahashi</name> |
1051 | | - |
1052 | | - </author> |
1053 | | - </entry> |
1054 | | - |
1055 | | - <entry> |
1056 | | - <title>ignore -- ignore : C++26対応として詳細な定義を追加し、例を追加 (close #1315)</title> |
1057 | | - <link href="https://cpprefjp.github.io/reference/tuple/ignore.html"/> |
1058 | | - <id>676aba0cd327f2f742d2d3f3bb89c29e08247b74:reference/tuple/ignore.md</id> |
1059 | | - <updated>2025-05-15T14:13:05+09:00</updated> |
1060 | | - |
1061 | | - <summary type="html"><pre><code>diff --git a/reference/tuple/ignore.md b/reference/tuple/ignore.md |
1062 | | -index 46b212ca5..8d3d8a3bc 100644 |
1063 | | ---- a/reference/tuple/ignore.md |
1064 | | -+++ b/reference/tuple/ignore.md |
1065 | | -@@ -6,8 +6,15 @@ |
1066 | | - |
1067 | | - ```cpp |
1068 | | - namespace std { |
1069 | | -- const unspecified ignore; // C++11 |
1070 | | -- inline constexpr unspecified ignore; // C++17 |
1071 | | -+ struct ignore-type { // 説明用の定義 (C++26) |
1072 | | -+ constexpr const ignore-type&amp; |
1073 | | -+ operator=(const auto &amp;) const noexcept |
1074 | | -+ { return *this; } |
1075 | | -+ }; |
1076 | | -+ |
1077 | | -+ const unspecified ignore; // (1) C++11 |
1078 | | -+ inline constexpr unspecified ignore; // (1) C++17 |
1079 | | -+ inline constexpr ignore-type ignore; // (1) C++26 |
1080 | | - } |
1081 | | - ``` |
1082 | | - * unspecified[italic] |
1083 | | -@@ -15,7 +22,61 @@ namespace std { |
1084 | | - ## 概要 |
1085 | | - `ignore`は、[`tie()`](tie.md)を使用してタプルから値を抽出する際に、「不要な値」をマーキングするためのプレースホルダーである。 |
1086 | | - |
1087 | | --使用例は[`tie()`](tie.md)を参照。 |
1088 | | -+そのほか、関数の戻り値を明示的に無視する際にも使用できる。 |
1089 | | -+ |
1090 | | -+C++26以降は、[`&lt;utility&gt;`](/reference/utility.md)をインクルードして使用することもできる。 |
1091 | | -+ |
1092 | | -+ |
1093 | | -+## 例 |
1094 | | -+### タプルの要素を取り出す際に一部の要素を無視する |
1095 | | -+```cpp example |
1096 | | -+#include &lt;iostream&gt; |
1097 | | -+#include &lt;tuple&gt; |
1098 | | -+#include &lt;string&gt; |
1099 | | -+ |
1100 | | -+std::tuple&lt;int, char, std::string&gt; f() |
1101 | | -+{ |
1102 | | -+ return {1, &#39;a&#39;, &#34;hello&#34;}; |
1103 | | -+} |
1104 | | -+ |
1105 | | -+int main() { |
1106 | | -+ // char要素は無視する |
1107 | | -+ int a; |
1108 | | -+ std::string c; |
1109 | | -+ std::tie(a, std::ignore, c) = f(); |
1110 | | -+ |
1111 | | -+ std::cout &lt;&lt; a &lt;&lt; std::endl; |
1112 | | -+ std::cout &lt;&lt; c &lt;&lt; std::endl; |
1113 | | -+} |
1114 | | -+``` |
1115 | | -+* std::ignore[color ff0000] |
1116 | | -+ |
1117 | | -+#### 出力 |
1118 | | -+``` |
1119 | | -+1 |
1120 | | -+hello |
1121 | | -+``` |
1122 | | -+ |
1123 | | -+### 関数の戻り値を無視する (C++17) |
1124 | | -+```cpp example |
1125 | | -+#include &lt;iostream&gt; |
1126 | | -+#include &lt;tuple&gt; |
1127 | | -+#include &lt;string&gt; |
1128 | | -+ |
1129 | | -+[[nodiscard]] |
1130 | | -+int print_string(std::string s) |
1131 | | -+{ |
1132 | | -+ std::cout &lt;&lt; s &lt;&lt; std::endl; |
1133 | | -+ return 0; |
1134 | | -+} |
1135 | | -+ |
1136 | | -+int main() { |
1137 | | -+ // 自分の用途ではこの関数は必ず成功するため、 |
1138 | | -+ // 戻り値を無視する |
1139 | | -+ std::ignore = print_string(&#34;hello&#34;); |
1140 | | -+} |
1141 | | -+``` |
1142 | | -+* std::ignore[color ff0000] |
1143 | | - |
1144 | | - |
1145 | | - ## バージョン |
1146 | | -@@ -33,4 +94,9 @@ namespace std { |
1147 | | - - [`std::make_tuple`](make_tuple.md) |
1148 | | - - [`std::forward_as_tuple`](forward_as_tuple.md) |
1149 | | - - [`std::tie`](tie.md) |
1150 | | -+- [C++17 `[[nodiscard]]`属性](/lang/cpp17/nodiscard.md) |
1151 | | -+- [C++26 宣言のみで使用しない変数の名前として`_`をサポート](/lang/cpp26/nice_placeholder_with_no_name.md) |
1152 | | -+ |
1153 | | - |
1154 | | -+## 参照 |
1155 | | -+- [P2968R2 Make `std::ignore` a first-class object](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2968r2.html) |
1156 | | -</code></pre></summary> |
1157 | | - |
1158 | | - <author> |
1159 | | - <name>Akira Takahashi</name> |
1160 | | - |
1161 | | - </author> |
1162 | | - </entry> |
1163 | | - |
1164 | | - <entry> |
1165 | | - <title>tie -- ignore : C++26対応として詳細な定義を追加し、例を追加 (close #1315)</title> |
1166 | | - <link href="https://cpprefjp.github.io/reference/tuple/tie.html"/> |
1167 | | - <id>676aba0cd327f2f742d2d3f3bb89c29e08247b74:reference/tuple/tie.md</id> |
1168 | | - <updated>2025-05-15T14:13:05+09:00</updated> |
1169 | | - |
1170 | | - <summary type="html"><pre><code>diff --git a/reference/tuple/tie.md b/reference/tuple/tie.md |
1171 | | -index 255593bd6..949b3494c 100644 |
1172 | | ---- a/reference/tuple/tie.md |
1173 | | -+++ b/reference/tuple/tie.md |
1174 | | -@@ -160,4 +160,5 @@ text, b.txt |
1175 | | - |
1176 | | - ## 参照 |
1177 | | - - [LWG2301 Why is std::tie not constexpr?](http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2301) |
1178 | | -+- [P2968R2 Make `std::ignore` a first-class object](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2968r2.html) |
1179 | | - |
1180 | 1063 | </code></pre></summary> |
1181 | 1064 |
|
1182 | 1065 | <author> |
|
0 commit comments