Skip to content

Commit 8b07d86

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent fc76d19 commit 8b07d86

File tree

3 files changed

+33
-250
lines changed

3 files changed

+33
-250
lines changed

reference/execution/execution/start.html

Lines changed: 3 additions & 3 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-04-18T15:26:17">
204-
2025年04月18日 15時26分17秒
203+
<span itemprop="datePublished" content="2025-04-18T15:30:32">
204+
2025年04月18日 15時30分32秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -236,7 +236,7 @@ <h2>概要</h2>
236236
<h2>効果</h2>
237237
<p><code>start(op)</code>は、<code>op</code>が右辺値の場合は<a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="../../../implementation-compliance.html#dfn-ill-formed">不適格</a>となる。
238238
そうでなければ、<code>op.start()</code>と等価。</p>
239-
<p><code>op.start()</code><a href="operation_state.html">Operation State</a>に関連付けさられた非<a class="cpprefjp-defined-word" data-desc="マルチスレッド実行時にリソースの所有権に基づいて実行順序を制御する操作">同期操作</a>を開始しない場合、式<code>start(op)</code><a class="cpprefjp-defined-word" data-desc="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。" href="../../../implementation-compliance.html#dfn-undefined-behavior">未定義動作</a>となる。</p>
239+
<p><code>op.start()</code><a href="operation_state.html">Operation State</a>に関連付けさられた非<a class="cpprefjp-defined-word" data-desc="マルチスレッド実行時にリソースの所有権に基づいて実行順序を制御する操作">同期操作</a>を開始しない場合、式<code>start(op)</code><a class="cpprefjp-defined-word" data-desc="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。" href="../../../implementation-compliance.html#dfn-undefined-behavior">動作は未定義</a>となる。</p>
240240
<h2>カスタマイゼーションポイント</h2>
241241
<p><a href="operation_state.html">Operation State</a><code>op</code>に対して式<code>op.start()</code>が呼び出される。
242242
このとき<code>noexcept(op.start()) == true</code>であること。</p>

rss.xml

Lines changed: 29 additions & 246 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,37 @@
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-18T15:30:03.749497</updated>
6-
<id>b374f25e-a398-441f-bae0-3dbb52d18324</id>
5+
<updated>2025-04-18T15:34:17.963296</updated>
6+
<id>6d4c76fa-8221-44e6-b607-f5d6af900554</id>
77

88

9+
<entry>
10+
<title>start -- execution/start: fix defined word</title>
11+
<link href="https://cpprefjp.github.io/reference/execution/execution/start.html"/>
12+
<id>20a8d5e9258e4355235398d9a82e00cfeb7aad50:reference/execution/execution/start.md</id>
13+
<updated>2025-04-19T00:30:32+09:00</updated>
14+
15+
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/start.md b/reference/execution/execution/start.md
16+
index 9154ea7b1..9c6e4c668 100644
17+
--- a/reference/execution/execution/start.md
18+
+++ b/reference/execution/execution/start.md
19+
@@ -19,7 +19,7 @@ namespace std::execution {
20+
式`start(op)`は、`op`が右辺値の場合は不適格となる。
21+
そうでなければ、`op.start()`と等価。
22+
23+
-`op.start()`が[Operation State](operation_state.md)に関連付けさられた非同期操作を開始しない場合、式`start(op)`は未定義動作となる。
24+
+`op.start()`が[Operation State](operation_state.md)に関連付けさられた非同期操作を開始しない場合、式`start(op)`の動作は未定義となる。
25+
26+
27+
## カスタマイゼーションポイント
28+
&lt;/code&gt;&lt;/pre&gt;</summary>
29+
30+
<author>
31+
<name>yoh</name>
32+
<email>kawasaki.liamg@gmail.com</email>
33+
</author>
34+
</entry>
35+
936
<entry>
1037
<title>execution -- execution: start (#1384)</title>
1138
<link href="https://cpprefjp.github.io/reference/execution/execution.html"/>
@@ -772,250 +799,6 @@ index 000000000..0c9d59797
772799
+
773800
+## 参照
774801
+- [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)
775-
&lt;/code&gt;&lt;/pre&gt;</summary>
776-
777-
<author>
778-
<name>yoh</name>
779-
<email>kawasaki.liamg@gmail.com</email>
780-
</author>
781-
</entry>
782-
783-
<entry>
784-
<title>connect -- execution: with-await-transform (#1384)</title>
785-
<link href="https://cpprefjp.github.io/reference/execution/execution/connect.html"/>
786-
<id>9bdfb06b23ad982838ea34914ec288a205f339f4:reference/execution/execution/connect.md</id>
787-
<updated>2025-04-18T17:15:49+09:00</updated>
788-
789-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/connect.md b/reference/execution/execution/connect.md
790-
index 6674d0d49..31cecdaed 100644
791-
--- a/reference/execution/execution/connect.md
792-
+++ b/reference/execution/execution/connect.md
793-
@@ -16,8 +16,8 @@ namespace std {
794-
795-
カスタマイゼーションポイントオブジェクトの呼び出し式`connect(sndr, rcvr)`は、下記の動作となる。
796-
797-
-- [`transform_sender`](transform_sender.md)を呼び出して、`sndr`を新しいSender`new_sndr`に変換する。大半のケースでは無変換。
798-
-- 呼び出し式が適格であるならば、`return new_sndr.connect(rcvr)`相当。
799-
+- [`transform_sender`](transform_sender.md)により`sndr`から新しいSender`new_sndr`へ変換する。(多くのケースで無変換)
800-
+- 呼び出し式が適格であるならば、`new_sndr.connect(rcvr)`を返す。
801-
- そうでなければ、`new_sndr`を[コルーチンのAwaitable型](/lang/cpp20/coroutines.md)とみなして`rcvr`と接続した結果を返す。
802-
803-
804-
@@ -72,9 +72,12 @@ namespace std::execution {
805-
};
806-
}
807-
```
808-
+* with-await-transform[link with-await-transform.md]
809-
* suspend_always[link /reference/coroutine/suspend_always.md]
810-
+* terminate()[link /reference/exception/terminate.md]
811-
* coroutine_handle[link /reference/coroutine/coroutine_handle.md]
812-
* set_stopped[link set_stopped.md]
813-
+* std::move[link /reference/utility/move.md]
814-
* noop_coroutine()[link /reference/coroutine/noop_coroutine.md]
815-
* from_promise[link /reference/coroutine/coroutine_handle/from_promise.md]
816-
* env_of_t[link env_of_t.md]
817-
@@ -100,6 +103,7 @@ namespace std::execution {
818-
}
819-
```
820-
* operation_state_t[link operation_state.md]
821-
+* promise_type[link /lang/cpp20/coroutines.md]
822-
* coroutine_handle&amp;lt;&amp;gt;[link /reference/coroutine/coroutine_handle.md]
823-
* destroy()[link /reference/coroutine/coroutine_handle/destroy.md]
824-
* resume()[link /reference/coroutine/coroutine_handle/resume.md]
825-
@@ -117,7 +121,7 @@ completion_signatures&amp;lt;
826-
set_stopped_t()&amp;gt;
827-
```
828-
* set_error_t[link set_error.md]
829-
-* set_stopped[link set_stopped.md]
830-
+* set_stopped_t[link set_stopped.md]
831-
* exception_ptr[link /reference/exception/exception_ptr.md]
832-
* SET-VALUE-SIG[italic]
833-
834-
@@ -159,8 +163,10 @@ namespace std::execution {
835-
* unreachable()[link /reference/utility/unreachable.md]
836-
* receiver_of[link receiver_of.md]
837-
* exception_ptr[link /reference/exception/exception_ptr.md]
838-
+* std::move[link /reference/utility/move.md]
839-
* current_exception()[link /reference/exception/current_exception.md]
840-
841-
+
842-
## カスタマイゼーションポイント
843-
Sender`sndr`[変換後](transform_sender.md)の`new_sndr`に対して、式`new_sndr.connect(rcvr)`が呼び出される。
844-
845-
&lt;/code&gt;&lt;/pre&gt;</summary>
846-
847-
<author>
848-
<name>yoh</name>
849-
<email>kawasaki.liamg@gmail.com</email>
850-
</author>
851-
</entry>
852-
853-
<entry>
854-
<title>connect_result_t -- execution: with-await-transform (#1384)</title>
855-
<link href="https://cpprefjp.github.io/reference/execution/execution/connect_result_t.html"/>
856-
<id>9bdfb06b23ad982838ea34914ec288a205f339f4:reference/execution/execution/connect_result_t.md</id>
857-
<updated>2025-04-18T17:15:49+09:00</updated>
858-
859-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/connect_result_t.md b/reference/execution/execution/connect_result_t.md
860-
index d3e3fd159..5bc8f7de8 100644
861-
--- a/reference/execution/execution/connect_result_t.md
862-
+++ b/reference/execution/execution/connect_result_t.md
863-
@@ -14,7 +14,7 @@ namespace std::execution {
864-
* connect[link connect.md]
865-
866-
## 概要
867-
-[Sender型](sender.md)`Sndr`と[Receiver型]`Rcvr`を[接続](connect.md)した結果の[Operation State型](operation_state.md)を取得する。
868-
+[Sender型](sender.md)`Sndr`と[Receiver型](receiver.md)`Rcvr`を[接続(connect)](connect.md)した結果の[Operation State型](operation_state.md)を取得する。
869-
870-
871-
## バージョン
872-
&lt;/code&gt;&lt;/pre&gt;</summary>
873-
874-
<author>
875-
<name>yoh</name>
876-
<email>kawasaki.liamg@gmail.com</email>
877-
</author>
878-
</entry>
879-
880-
<entry>
881-
<title>sender -- execution: with-await-transform (#1384)</title>
882-
<link href="https://cpprefjp.github.io/reference/execution/execution/sender.html"/>
883-
<id>9bdfb06b23ad982838ea34914ec288a205f339f4:reference/execution/execution/sender.md</id>
884-
<updated>2025-04-18T17:15:49+09:00</updated>
885-
886-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/sender.md b/reference/execution/execution/sender.md
887-
index ad481ee9f..edee77eb3 100644
888-
--- a/reference/execution/execution/sender.md
889-
+++ b/reference/execution/execution/sender.md
890-
@@ -50,6 +50,7 @@ struct env-promise : with-await-transform&amp;lt;env-promise&amp;lt;Env&amp;gt;&amp;gt; {
891-
* is-awaitable[link ../is-awaitable.md]
892-
* env&amp;lt;&amp;gt;[link env.md]
893-
* derived_from[link /reference/concepts/derived_from.md]
894-
+* with-await-transform[link with-await-transform.md]
895-
* coroutine_handle&amp;lt;&amp;gt;[link /reference/coroutine/coroutine_handle.md]
896-
* unspecified[italic]
897-
898-
&lt;/code&gt;&lt;/pre&gt;</summary>
899-
900-
<author>
901-
<name>yoh</name>
902-
<email>kawasaki.liamg@gmail.com</email>
903-
</author>
904-
</entry>
905-
906-
<entry>
907-
<title>sender_in -- execution: with-await-transform (#1384)</title>
908-
<link href="https://cpprefjp.github.io/reference/execution/execution/sender_in.html"/>
909-
<id>9bdfb06b23ad982838ea34914ec288a205f339f4:reference/execution/execution/sender_in.md</id>
910-
<updated>2025-04-18T17:15:49+09:00</updated>
911-
912-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/sender_in.md b/reference/execution/execution/sender_in.md
913-
index ef3469e1b..168906892 100644
914-
--- a/reference/execution/execution/sender_in.md
915-
+++ b/reference/execution/execution/sender_in.md
916-
@@ -38,7 +38,7 @@ concept valid-completion-signatures = see below;
917-
918-
また、ある完了操作の完了シグネチャが[`completion_signatures_of_t`](completion_signatures_of_t.md)`&amp;lt;Sndr, Env&amp;gt;`で取得される[`completion_signatures`](completion_signatures.md)リストに含まれるとき、`Sndr`と`Env`における許容可能完了(permissible completion)となる。
919-
920-
-`sndr`と`rcvr`の接続後に[Operation State](operation_state.md)を開始することで評価されうる完了操作が、全て許容可能完了(permissible completion)である場合、`Sndr`と`Env`は`sender_in&amp;lt;Sndr, Env&amp;gt;`のモデルとなる。
921-
+`sndr`と`rcvr`の[接続](connect.md)後に[Operation State](operation_state.md)を開始することで評価されうる完了操作が、全て許容可能完了(permissible completion)である場合、`Sndr`と`Env`は`sender_in&amp;lt;Sndr, Env&amp;gt;`のモデルとなる。
922-
923-
924-
## 例
925-
&lt;/code&gt;&lt;/pre&gt;</summary>
926-
927-
<author>
928-
<name>yoh</name>
929-
<email>kawasaki.liamg@gmail.com</email>
930-
</author>
931-
</entry>
932-
933-
<entry>
934-
<title>transform_sender -- execution: with-await-transform (#1384)</title>
935-
<link href="https://cpprefjp.github.io/reference/execution/execution/transform_sender.html"/>
936-
<id>9bdfb06b23ad982838ea34914ec288a205f339f4:reference/execution/execution/transform_sender.md</id>
937-
<updated>2025-04-18T17:15:49+09:00</updated>
938-
939-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/transform_sender.md b/reference/execution/execution/transform_sender.md
940-
index a67439309..11065a82e 100644
941-
--- a/reference/execution/execution/transform_sender.md
942-
+++ b/reference/execution/execution/transform_sender.md
943-
@@ -18,7 +18,7 @@ namespace std::execution {
944-
945-
## 概要
946-
[実行ドメイン](default_domain.md)に応じて[Sender](sender.md)を変換する。
947-
-Senderオブジェクトの構築時、Senderと[Receiver](receiver.md)間[接続(connect)](../connect.md.nolink)のカスタマイゼーションポイントとして機能する。
948-
+Senderオブジェクトの構築時、Senderと[Receiver](receiver.md)間[接続(connect)](connect.md)時のカスタマイゼーションポイントとして機能する。
949-
950-
型変換ではSender型の変換が行われなくなる(恒等変換となる)まで、下記のカスタマイゼーションポイントを再帰的に呼び出す。
951-
952-
&lt;/code&gt;&lt;/pre&gt;</summary>
953-
954-
<author>
955-
<name>yoh</name>
956-
<email>kawasaki.liamg@gmail.com</email>
957-
</author>
958-
</entry>
959-
960-
<entry>
961-
<title>with-await-transform -- execution: with-await-transform (#1384)</title>
962-
<link href="https://cpprefjp.github.io/reference/execution/execution/with-await-transform.html"/>
963-
<id>9bdfb06b23ad982838ea34914ec288a205f339f4:reference/execution/execution/with-await-transform.md</id>
964-
<updated>2025-04-18T17:15:49+09:00</updated>
965-
966-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/with-await-transform.md b/reference/execution/execution/with-await-transform.md
967-
new file mode 100644
968-
index 000000000..6f8973a14
969-
--- /dev/null
970-
+++ b/reference/execution/execution/with-await-transform.md
971-
@@ -0,0 +1,47 @@
972-
+# with-await-transform
973-
+* execution[meta header]
974-
+* class template[meta id-type]
975-
+* std::execution[meta namespace]
976-
+* cpp26[meta cpp]
977-
+
978-
+```cpp
979-
+namespace std::execution {
980-
+ template&amp;lt;class T, class Promise&amp;gt;
981-
+ concept has-as-awaitable = // exposition only
982-
+ requires (T&amp;amp;&amp;amp; t, Promise&amp;amp; p) {
983-
+ { std::forward&amp;lt;T&amp;gt;(t).as_awaitable(p) } -&amp;gt; is-awaitable&amp;lt;Promise&amp;amp;&amp;gt;;
984-
+ };
985-
+
986-
+ template&amp;lt;class Derived&amp;gt;
987-
+ struct with-await-transform { // exposition only
988-
+ template&amp;lt;class T&amp;gt;
989-
+ T&amp;amp;&amp;amp; await_transform(T&amp;amp;&amp;amp; value) noexcept {
990-
+ return std::forward&amp;lt;T&amp;gt;(value);
991-
+ }
992-
+
993-
+ template&amp;lt;has-as-awaitable&amp;lt;Derived&amp;gt; T&amp;gt;
994-
+ decltype(auto) await_transform(T&amp;amp;&amp;amp; value)
995-
+ noexcept(noexcept(std::forward&amp;lt;T&amp;gt;(value).as_awaitable(declval&amp;lt;Derived&amp;amp;&amp;gt;())))
996-
+ {
997-
+ return std::forward&amp;lt;T&amp;gt;(value).as_awaitable(static_cast&amp;lt;Derived&amp;amp;&amp;gt;(*this));
998-
+ }
999-
+ };
1000-
+}
1001-
+```
1002-
+* is-awaitable[link ../is-awaitable.md]
1003-
+
1004-
+## 概要
1005-
+`with-await-transform`は、実行制御ライブラリの仕様定義で用いられる説明専用のクラステンプレートである。
1006-
+
1007-
+
1008-
+## バージョン
1009-
+### 言語
1010-
+- C++26
1011-
+
1012-
+## 関連項目
1013-
+- [`execution::sender`](sender.md)
1014-
+- [`execution::connect`](connect.md)
1015-
+
1016-
+
1017-
+## 参照
1018-
+- [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)
1019802
&lt;/code&gt;&lt;/pre&gt;</summary>
1020803

1021804
<author>

sitemap.xml

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

46874687
<url>
46884688
<loc>https://cpprefjp.github.io/reference/execution/execution/start.html</loc>
4689-
<lastmod>2025-04-19T00:26:17+09:00</lastmod>
4689+
<lastmod>2025-04-19T00:30:32+09:00</lastmod>
46904690
<changefreq>daily</changefreq>
46914691
<priority>0.6</priority>
46924692
</url>

0 commit comments

Comments
 (0)