|
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