Skip to content

Commit 89492e9

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent a774c06 commit 89492e9

File tree

3 files changed

+34
-33
lines changed

3 files changed

+34
-33
lines changed

reference/future/future/wait_for.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969
</head>
7070
<body>
71-
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;future&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;class&#34;: [&#34;future&#34;], &#34;id-type&#34;: [&#34;function template&#34;], &#34;cpp&#34;: [&#34;cpp11&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;ca76fe51671a15677ad5a83f5d34211cc477aa73&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;future&gt;\n#include &lt;thread&gt;\n#include &lt;utility&gt;\n\nvoid calc(std::promise&lt;int&gt; p)\n{\n p.set_value(3); // \u7d50\u679c\u3092\u66f8\u304d\u8fbc\u3080\n}\n\nint main()\n{\n std::promise&lt;int&gt; p;\n std::future&lt;int&gt; f = p.get_future();\n\n std::thread t(calc, std::move(p));\n\n // \u7d50\u679c\u304c\u66f8\u304d\u8fbc\u307e\u308c\u308b\u307e\u3067\u5f85\u6a5f\u3059\u308b\n // 3\u79d2\u3067\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\n std::future_status result = f.wait_for(std::chrono::seconds(3));\n if (result != std::future_status::timeout) {\n // \u7d50\u679c\u3092\u53d6\u308a\u51fa\u3059(\u6e96\u5099\u5b8c\u4e86\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u3059\u3050\u306b\u5024\u3092\u53d6\u308a\u51fa\u305b\u308b)\n std::cout &lt;&lt; f.get() &lt;&lt; std::endl;\n }\n else {\n std::cout &lt;&lt; \&#34;timeout\&#34; &lt;&lt; std::endl;\n }\n\n t.join();\n}\n&#34;}, {&#34;id&#34;: &#34;dc081e75f5d556dbdd5ef6c3a8e10148c060ba3b&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;future&gt;\n#include &lt;chrono&gt;\n\nint main()\n{\n std::promise&lt;int&gt; p;\n std::future&lt;int&gt; f = p.get_future();\n const auto ready = [&amp;f] {\n return f.wait_for(std::chrono::seconds{0}) == std::future_status::ready;\n };\n\n // \u307e\u3060\u5024\u306f\u30bb\u30c3\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\n std::cout &lt;&lt; std::boolalpha &lt;&lt; ready() &lt;&lt; std::endl;\n\n p.set_value(1);\n\n // \u5024\u304c\u30bb\u30c3\u30c8\u3055\u308c\u305f\n std::cout &lt;&lt; std::boolalpha &lt;&lt; ready() &lt;&lt; std::endl;\n\n f.get(); // \u4e00\u5ea6\u5024\u3092\u53d6\u308a\u51fa\u3059\u3068\u5171\u6709\u72b6\u614b\u304c\u7834\u68c4\u3055\u308c\u308b\n\n // \u5171\u6709\u72b6\u614b\u3092\u6301\u305f\u306a\u3044(valid() == false\u306a)future\u3067wait\u3092\u3059\u308b\u3068std::future_error\u4f8b\u5916\n try {\n ready();\n }\n catch(const std::future_error&amp; e) {\n std::cout &lt;&lt; e.what() &lt;&lt; std::endl;\n }\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;future&#34;, &#34;future&#34;, &#34;wait_for&#34;]}">
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;future&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;class&#34;: [&#34;future&#34;], &#34;id-type&#34;: [&#34;function template&#34;], &#34;cpp&#34;: [&#34;cpp11&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;ca76fe51671a15677ad5a83f5d34211cc477aa73&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;future&gt;\n#include &lt;thread&gt;\n#include &lt;utility&gt;\n\nvoid calc(std::promise&lt;int&gt; p)\n{\n p.set_value(3); // \u7d50\u679c\u3092\u66f8\u304d\u8fbc\u3080\n}\n\nint main()\n{\n std::promise&lt;int&gt; p;\n std::future&lt;int&gt; f = p.get_future();\n\n std::thread t(calc, std::move(p));\n\n // \u7d50\u679c\u304c\u66f8\u304d\u8fbc\u307e\u308c\u308b\u307e\u3067\u5f85\u6a5f\u3059\u308b\n // 3\u79d2\u3067\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\n std::future_status result = f.wait_for(std::chrono::seconds(3));\n if (result != std::future_status::timeout) {\n // \u7d50\u679c\u3092\u53d6\u308a\u51fa\u3059(\u6e96\u5099\u5b8c\u4e86\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u3059\u3050\u306b\u5024\u3092\u53d6\u308a\u51fa\u305b\u308b)\n std::cout &lt;&lt; f.get() &lt;&lt; std::endl;\n }\n else {\n std::cout &lt;&lt; \&#34;timeout\&#34; &lt;&lt; std::endl;\n }\n\n t.join();\n}\n&#34;}, {&#34;id&#34;: &#34;477e26dab1ecdab718bfa27e364f00ef465132cf&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;future&gt;\n#include &lt;chrono&gt;\n\nint main()\n{\n std::promise&lt;int&gt; p;\n std::future&lt;int&gt; f = p.get_future();\n const auto ready = [&amp;f] {\n return f.wait_for(std::chrono::seconds{0}) == std::future_status::ready;\n };\n\n // \u307e\u3060\u5024\u306f\u30bb\u30c3\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\n std::cout &lt;&lt; std::boolalpha &lt;&lt; ready() &lt;&lt; std::endl;\n\n p.set_value(1);\n\n // \u5024\u304c\u30bb\u30c3\u30c8\u3055\u308c\u305f\n std::cout &lt;&lt; std::boolalpha &lt;&lt; ready() &lt;&lt; std::endl;\n\n f.get(); // \u4e00\u5ea6\u5024\u3092\u53d6\u308a\u51fa\u3059\u3068\u5171\u6709\u72b6\u614b\u304c\u7834\u68c4\u3055\u308c\u308b\n\n // \u5171\u6709\u72b6\u614b\u3092\u6301\u305f\u306a\u3044(valid() == false\u306a)future\u3067wait\u3092\u3059\u308b\u3068std::future_error\u4f8b\u5916\n // \u305f\u3060\u3057\u3001libc++\u3067\u306f(\u5c11\u306a\u304f\u3068\u308219.1.0\u307e\u3067\u306f)SEGV\u3059\u308b\u306e\u3067\u6ce8\u610f\n try {\n ready();\n }\n catch(const std::future_error&amp; e) {\n std::cout &lt;&lt; e.what() &lt;&lt; std::endl;\n }\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;future&#34;, &#34;future&#34;, &#34;wait_for&#34;]}">
7272
<nav class="navbar navbar-default" role="navigation">
7373
<div class="container-fluid">
7474
<div class="navbar-header">
@@ -200,8 +200,8 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2025-01-04T00:11:44">
204-
2025年01月04日 00時11分44秒
203+
<span itemprop="datePublished" content="2025-01-04T00:32:32">
204+
2025年01月04日 00時32分32秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -281,7 +281,7 @@ <h4>出力例</h4>
281281
<p><pre><code>3
282282
</code></pre></p>
283283
<h3>例2</h3>
284-
<p><div class="yata" id="dc081e75f5d556dbdd5ef6c3a8e10148c060ba3b"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../../iostream.html">&lt;iostream&gt;</a></span><span class="cp"></span>
284+
<p><div class="yata" id="477e26dab1ecdab718bfa27e364f00ef465132cf"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../../iostream.html">&lt;iostream&gt;</a></span><span class="cp"></span>
285285
<span class="cp">#include</span> <span class="cpf"><a href="../../future.html">&lt;future&gt;</a></span><span class="cp"></span>
286286
<span class="cp">#include</span> <span class="cpf"><a href="../../chrono.html">&lt;chrono&gt;</a></span><span class="cp"></span>
287287

@@ -304,6 +304,7 @@ <h3>例2</h3>
304304
<span class="n"><a href="../shared_future/get.html">f.get()</a></span><span class="p">;</span> <span class="c1">// 一度値を取り出すと共有状態が破棄される</span>
305305

306306
<span class="c1">// 共有状態を持たない(<a href="valid.html">valid()</a> == falseな)futureでwaitをすると<a href="../future_error.html">std::future_error</a>例外</span>
307+
<span class="c1">// ただし、libc++では(少なくとも19.1.0までは)SEGVするので注意</span>
307308
<span class="k">try</span> <span class="p">{</span>
308309
<span class="n">ready</span><span class="p">();</span>
309310
<span class="p">}</span>

rss.xml

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,36 @@
22
<feed xmlns="http://www.w3.org/2005/Atom">
33
<title>cpprefjp - C++日本語リファレンス</title>
44
<link href="https://cpprefjp.github.io" />
5-
<updated>2025-01-04T00:15:08.705735</updated>
6-
<id>a9ece5ff-74a2-4706-906a-7623125cce1b</id>
5+
<updated>2025-01-04T00:35:39.106541</updated>
6+
<id>a98141dc-fcdb-4c43-8e1a-2d7ced821412</id>
77

88

9+
<entry>
10+
<title>wait_for -- add comment about SEGV on libc++</title>
11+
<link href="https://cpprefjp.github.io/reference/future/future/wait_for.html"/>
12+
<id>f1ae4bcfabb3cef121a1d4f6d1fc102c74c3b11f:reference/future/future/wait_for.md</id>
13+
<updated>2025-01-04T09:32:32+09:00</updated>
14+
15+
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/future/future/wait_for.md b/reference/future/future/wait_for.md
16+
index 2f079ffd8..a2cc2921f 100644
17+
--- a/reference/future/future/wait_for.md
18+
+++ b/reference/future/future/wait_for.md
19+
@@ -101,6 +101,7 @@ int main()
20+
f.get(); // 一度値を取り出すと共有状態が破棄される
21+
22+
// 共有状態を持たない(valid() == falseな)futureでwaitをするとstd::future_error例外
23+
+ // ただし、libc++では(少なくとも19.1.0までは)SEGVするので注意
24+
try {
25+
ready();
26+
}
27+
&lt;/code&gt;&lt;/pre&gt;</summary>
28+
29+
<author>
30+
<name>I</name>
31+
<email>[email protected]</email>
32+
</author>
33+
</entry>
34+
935
<entry>
1036
<title>wait_for -- add example to see difference between `wait_for(0s) == ready` and `valid()`</title>
1137
<link href="https://cpprefjp.github.io/reference/future/future/wait_for.html"/>
@@ -753,32 +779,6 @@ index 27b783ab8..b58d45313 100644
753779
- [GCC](/implementation.md#gcc): 9.1 [mark verified]
754780
- [Visual C++](/implementation.md#visual_cpp): 2019 Update 1 [mark verified]
755781

756-
&lt;/code&gt;&lt;/pre&gt;</summary>
757-
758-
<author>
759-
<name>rotarymars</name>
760-
<email>[email protected]</email>
761-
</author>
762-
</entry>
763-
764-
<entry>
765-
<title>duration -- Added verified version</title>
766-
<link href="https://cpprefjp.github.io/reference/chrono/duration.html"/>
767-
<id>b4ff92e9e24dc437c196091eafd940a9245d3112:reference/chrono/duration.md</id>
768-
<updated>2024-12-29T15:06:55+09:00</updated>
769-
770-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/chrono/duration.md b/reference/chrono/duration.md
771-
index 8e109b71d..386f75d83 100644
772-
--- a/reference/chrono/duration.md
773-
+++ b/reference/chrono/duration.md
774-
@@ -221,6 +221,7 @@ Tue Oct 16 16:25:11 2012
775-
### 処理系
776-
- [GCC](/implementation.md#gcc): 4.7.0 [mark verified]
777-
- [Visual C++](/implementation.md#visual_cpp): 2012 [mark verified], 2013 [mark verified], 2015 [mark verified]
778-
+- [Clang](/implementation.md#clang): 14.0.6 [mark verified]
779-
780-
## 参照
781-
- [P2592R3 Hashing support for `std::chrono` value classes](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2592r3.html)
782782
&lt;/code&gt;&lt;/pre&gt;</summary>
783783

784784
<author>

sitemap.xml

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

34693469
<url>
34703470
<loc>https://cpprefjp.github.io/reference/future/future/wait_for.html</loc>
3471-
<lastmod>2025-01-04T09:11:44+09:00</lastmod>
3471+
<lastmod>2025-01-04T09:32:32+09:00</lastmod>
34723472
<changefreq>daily</changefreq>
34733473
<priority>0.6</priority>
34743474
</url>

0 commit comments

Comments
 (0)