Skip to content

Commit 463ed2b

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 9cdda89 commit 463ed2b

File tree

3 files changed

+93
-40
lines changed

3 files changed

+93
-40
lines changed

reference/execution/execution/env/query.html

Lines changed: 18 additions & 10 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;execution&#34;], &#34;namespace&#34;: [&#34;std::execution&#34;], &#34;class&#34;: [&#34;env&#34;], &#34;id-type&#34;: [&#34;function template&#34;], &#34;cpp&#34;: [&#34;cpp26&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;23be9c241be58ee06dc0832d043754f27ca8c656&#34;, &#34;source&#34;: &#34;#include &lt;concepts&gt;\n#include &lt;stop_token&gt;\n#include &lt;execution&gt;\nusing ex = std::execution;\n\nint main()\n{\n auto env = ex::env{\n ex::prop(std::get_stop_token, std::stop_token{}),\n ex::prop(std::get_allocator, std::allocator&lt;std::byte&gt;{}),\n ex::prop(std::get_stop_token, std::never_stop_token{}),\n };\n\n auto token = env.query(std::get_stop_token);\n static_assert(std::same_as&lt;decltype(token), std::stop_token&gt;);\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;execution&#34;, &#34;execution&#34;, &#34;env&#34;, &#34;query&#34;]}">
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;execution&#34;], &#34;namespace&#34;: [&#34;std::execution&#34;], &#34;class&#34;: [&#34;env&#34;], &#34;id-type&#34;: [&#34;function template&#34;], &#34;cpp&#34;: [&#34;cpp26&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;5aac06d595511645f98c51538518cd7c8e486728&#34;, &#34;source&#34;: &#34;#include &lt;concepts&gt;\n#include &lt;stop_token&gt;\n#include &lt;execution&gt;\nusing ex = std::execution;\n\nint main()\n{\n // get_stop_token,get_stop_token\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u30af\u30a8\u30ea\u53ef\u80fd\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\n auto env0 = ex::env{\n ex::prop(std::get_allocator, std::allocator&lt;std::byte&gt;{}),\n ex::prop(std::get_stop_token, std::never_stop_token{})\n };\n auto token0 = env0.query(std::get_stop_token);\n static_assert(std::same_as&lt;decltype(token0), std::never_stop_token&gt;);\n\n // env0\u306eget_stop_token\u30af\u30a8\u30ea\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u52d5\u4f5c\u3092\u4e0a\u66f8\u304d\n auto env1 = ex::env{\n ex::prop(std::get_stop_token, std::stop_token{}),\n env0\n };\n auto token1 = env1.query(std::get_stop_token);\n static_assert(std::same_as&lt;decltype(token1), std::stop_token&gt;);\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;execution&#34;, &#34;execution&#34;, &#34;env&#34;, &#34;query&#34;]}">
7272
<nav class="navbar navbar-default" role="navigation">
7373
<div class="container-fluid">
7474
<div class="navbar-header">
@@ -212,8 +212,8 @@
212212

213213
<p class="text-right"><small>
214214
最終更新日時(UTC):
215-
<span itemprop="datePublished" content="2025-04-14T16:16:19">
216-
2025年04月14日 16時16分19秒
215+
<span itemprop="datePublished" content="2025-04-15T15:33:52">
216+
2025年04月15日 15時33分52秒
217217
</span>
218218
<br/>
219219
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -258,23 +258,31 @@ <h2>効果</h2>
258258
</code></pre></div>
259259
</p>
260260
<h2><a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a></h2>
261-
<p><code>fe.query(q)</code><code>true</code>のとき、<a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a>送出しない。</p>
261+
<p><code>noexcept(fe.query(q))</code><code>true</code>のとき、<a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a>送出しない。
262+
それ以外の場合、式<code>fe.query(q)</code>から送出される<a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a></p>
262263
<h2></h2>
263-
<p><div class="yata" id="23be9c241be58ee06dc0832d043754f27ca8c656"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../../../concepts.html">&lt;concepts&gt;</a></span><span class="cp"></span>
264+
<p><div class="yata" id="5aac06d595511645f98c51538518cd7c8e486728"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../../../concepts.html">&lt;concepts&gt;</a></span><span class="cp"></span>
264265
<span class="cp">#include</span> <span class="cpf"><a href="../../../stop_token.html">&lt;stop_token&gt;</a></span><span class="cp"></span>
265266
<span class="cp">#include</span> <span class="cpf"><a href="../../../execution.html">&lt;execution&gt;</a></span><span class="cp"></span>
266267
<span class="k">using</span> <span class="n">ex</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">execution</span><span class="p">;</span>
267268

268269
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
269270
<span class="p">{</span>
270-
<span class="k">auto</span> <span class="n">env</span> <span class="o">=</span> <span class="n"><a href="../env.html">ex::env</a></span><span class="p">{</span>
271-
<span class="n"><a href="../prop.html">ex::prop</a></span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">get_stop_token</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">stop_token</span><span class="p">{}),</span>
271+
<span class="c1">// get_stop_token,get_stop_tokenをサポートするクエリ可能オブジェクト</span>
272+
<span class="k">auto</span> <span class="n">env0</span> <span class="o">=</span> <span class="n"><a href="../env.html">ex::env</a></span><span class="p">{</span>
272273
<span class="n"><a href="../prop.html">ex::prop</a></span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">get_allocator</span><span class="p">,</span> <span class="n"><a href="../../../memory/allocator.html">std::allocator</a></span><span class="o">&lt;</span><span class="n">std</span><span class="o">::</span><span class="n">byte</span><span class="o">&gt;</span><span class="p">{}),</span>
273-
<span class="n"><a href="../prop.html">ex::prop</a></span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">get_stop_token</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">never_stop_token</span><span class="p">{}),</span>
274+
<span class="n"><a href="../prop.html">ex::prop</a></span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">get_stop_token</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">never_stop_token</span><span class="p">{})</span>
274275
<span class="p">};</span>
276+
<span class="k">auto</span> <span class="n">token0</span> <span class="o">=</span> <span class="n">env0</span><span class="p">.</span><span class="n"><span style="color:#ff0000">query</span></span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">get_stop_token</span><span class="p">);</span>
277+
<span class="k">static_assert</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n"><a href="../../../concepts/same_as.html">same_as</a></span><span class="o">&lt;</span><span class="k">decltype</span><span class="p">(</span><span class="n">token0</span><span class="p">),</span> <span class="n">std</span><span class="o">::</span><span class="n">never_stop_token</span><span class="o">&gt;</span><span class="p">);</span>
275278

276-
<span class="k">auto</span> <span class="n">token</span> <span class="o">=</span> <span class="n">env</span><span class="p">.</span><span class="n"><span style="color:#ff0000">query</span></span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">get_stop_token</span><span class="p">);</span>
277-
<span class="k">static_assert</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n"><a href="../../../concepts/same_as.html">same_as</a></span><span class="o">&lt;</span><span class="k">decltype</span><span class="p">(</span><span class="n">token</span><span class="p">),</span> <span class="n">std</span><span class="o">::</span><span class="n">stop_token</span><span class="o">&gt;</span><span class="p">);</span>
279+
<span class="c1">// env0のget_stop_tokenクエリオブジェクト動作を上書き</span>
280+
<span class="k">auto</span> <span class="n">env1</span> <span class="o">=</span> <span class="n"><a href="../env.html">ex::env</a></span><span class="p">{</span>
281+
<span class="n"><a href="../prop.html">ex::prop</a></span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">get_stop_token</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">stop_token</span><span class="p">{}),</span>
282+
<span class="n">env0</span>
283+
<span class="p">};</span>
284+
<span class="k">auto</span> <span class="n">token1</span> <span class="o">=</span> <span class="n">env1</span><span class="p">.</span><span class="n"><span style="color:#ff0000">query</span></span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">get_stop_token</span><span class="p">);</span>
285+
<span class="k">static_assert</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n"><a href="../../../concepts/same_as.html">same_as</a></span><span class="o">&lt;</span><span class="k">decltype</span><span class="p">(</span><span class="n">token1</span><span class="p">),</span> <span class="n">std</span><span class="o">::</span><span class="n">stop_token</span><span class="o">&gt;</span><span class="p">);</span>
278286
<span class="p">}</span>
279287
</code></pre></div>
280288
</div></p>

rss.xml

Lines changed: 74 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,82 @@
22
<feed xmlns="http://www.w3.org/2005/Atom">
33
<title>cpprefjp - C++日本語リファレンス</title>
44
<link href="https://cpprefjp.github.io" />
5-
<updated>2025-04-15T14:46:19.904713</updated>
6-
<id>cacb9b7c-f5a9-4052-85cb-13b4904e4fd4</id>
5+
<updated>2025-04-15T15:37:50.382450</updated>
6+
<id>46ccdabf-a643-4660-9b0a-29a821f593bb</id>
77

88

9+
<entry>
10+
<title>query -- execution/env/query: refinement (#1384)</title>
11+
<link href="https://cpprefjp.github.io/reference/execution/execution/env/query.html"/>
12+
<id>6137b03cdbc9079845bbf6dd8e20b7e010fb5cad:reference/execution/execution/env/query.md</id>
13+
<updated>2025-04-16T00:33:52+09:00</updated>
14+
15+
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/env/query.md b/reference/execution/execution/env/query.md
16+
index 171fa25da..bf238c6d9 100644
17+
--- a/reference/execution/execution/env/query.md
18+
+++ b/reference/execution/execution/env/query.md
19+
@@ -26,6 +26,7 @@ concept has-query =
20+
};
21+
```
22+
23+
+
24+
## 効果
25+
説明用の`fe`を、`env`クラステンプレートの説明専用メンバ変数`envs0_`, ..., `envsN_`のうち最初に式`fe.query(q)`が適格となる要素としたとき、下記と等価。
26+
27+
@@ -33,8 +34,10 @@ concept has-query =
28+
return fe.query(q);
29+
```
30+
31+
+
32+
## 例外
33+
-式`fe.query(q)`が`true`のとき、例外送出しない。
34+
+式`noexcept(fe.query(q))`が`true`のとき、例外送出しない。
35+
+それ以外の場合、式`fe.query(q)`から送出される例外。
36+
37+
38+
## 例
39+
@@ -46,19 +49,28 @@ using ex = std::execution;
40+
41+
int main()
42+
{
43+
- auto env = ex::env{
44+
- ex::prop(std::get_stop_token, std::stop_token{}),
45+
+ // get_stop_token,get_stop_tokenをサポートするクエリ可能オブジェクト
46+
+ auto env0 = ex::env{
47+
ex::prop(std::get_allocator, std::allocator&amp;lt;std::byte&amp;gt;{}),
48+
- ex::prop(std::get_stop_token, std::never_stop_token{}),
49+
+ ex::prop(std::get_stop_token, std::never_stop_token{})
50+
};
51+
+ auto token0 = env0.query(std::get_stop_token);
52+
+ static_assert(std::same_as&amp;lt;decltype(token0), std::never_stop_token&amp;gt;);
53+
54+
- auto token = env.query(std::get_stop_token);
55+
- static_assert(std::same_as&amp;lt;decltype(token), std::stop_token&amp;gt;);
56+
+ // env0のget_stop_tokenクエリオブジェクト動作を上書き
57+
+ auto env1 = ex::env{
58+
+ ex::prop(std::get_stop_token, std::stop_token{}),
59+
+ env0
60+
+ };
61+
+ auto token1 = env1.query(std::get_stop_token);
62+
+ static_assert(std::same_as&amp;lt;decltype(token1), std::stop_token&amp;gt;);
63+
}
64+
```
65+
* query[color ff0000]
66+
* ex::env[link ../env.md]
67+
* ex::prop[link ../prop.md]
68+
+* ex::never_stop_token[link /reference/stop_token/never_stop_token.md]
69+
+* ex::stop_token[link /reference/stop_token/stop_token.md]
70+
71+
### 出力
72+
```
73+
&lt;/code&gt;&lt;/pre&gt;</summary>
74+
75+
<author>
76+
<name>yoh</name>
77+
<email>kawasaki.liamg@gmail.com</email>
78+
</author>
79+
</entry>
80+
981
<entry>
1082
<title>コンパイラの実装状況 -- C++26: 「可変引数テンプレートでfriend宣言をできるようにする」を追加 (close #1329)</title>
1183
<link href="https://cpprefjp.github.io/implementation-status.html"/>
@@ -3594,31 +3666,4 @@ index 2e632953f..2bd0b2352 100644
35943666
</author>
35953667
</entry>
35963668

3597-
<entry>
3598-
<title>env -- execution/env: fix ngword</title>
3599-
<link href="https://cpprefjp.github.io/reference/execution/execution/env.html"/>
3600-
<id>92a7237ce2698f7bc6fcaed781f171f579040706:reference/execution/execution/env.md</id>
3601-
<updated>2025-04-15T01:19:47+09:00</updated>
3602-
3603-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/env.md b/reference/execution/execution/env.md
3604-
index df547da64..4ebb6362c 100644
3605-
--- a/reference/execution/execution/env.md
3606-
+++ b/reference/execution/execution/env.md
3607-
@@ -30,7 +30,7 @@ namespace std::execution {
3608-
3609-
`env`の特殊化は代入可能ではない。
3610-
3611-
-式リストが単一要素で構成される場合を除いて、`env`が括弧を用いた式リストによる初期化をサポートするか否かは未規定。
3612-
+式リストが単一要素で構成される場合を除いて、`env`が丸カッコを用いた式リストによる初期化をサポートするか否かは未規定。
3613-
3614-
3615-
## メンバ関数
3616-
&lt;/code&gt;&lt;/pre&gt;</summary>
3617-
3618-
<author>
3619-
<name>yoh</name>
3620-
<email>kawasaki.liamg@gmail.com</email>
3621-
</author>
3622-
</entry>
3623-
36243669
</feed>

sitemap.xml

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

47294729
<url>
47304730
<loc>https://cpprefjp.github.io/reference/execution/execution/env/query.html</loc>
4731-
<lastmod>2025-04-15T01:16:19+09:00</lastmod>
4731+
<lastmod>2025-04-16T00:33:52+09:00</lastmod>
47324732
<changefreq>daily</changefreq>
47334733
<priority>0.5</priority>
47344734
</url>

0 commit comments

Comments
 (0)