|
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-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> |
7 | 7 |
|
8 | 8 |
|
| 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"><pre><code>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 | +</code></pre></summary> |
| 29 | + |
| 30 | + <author> |
| 31 | + <name>yoh</name> |
| 32 | + |
| 33 | + </author> |
| 34 | + </entry> |
| 35 | + |
9 | 36 | <entry> |
10 | 37 | <title>execution -- execution: start (#1384)</title> |
11 | 38 | <link href="https://cpprefjp.github.io/reference/execution/execution.html"/> |
@@ -772,250 +799,6 @@ index 000000000..0c9d59797 |
772 | 799 | + |
773 | 800 | +## 参照 |
774 | 801 | +- [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html) |
775 | | -</code></pre></summary> |
776 | | - |
777 | | - <author> |
778 | | - <name>yoh</name> |
779 | | - |
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"><pre><code>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&lt;&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&lt; |
826 | | - set_stopped_t()&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 | | -</code></pre></summary> |
846 | | - |
847 | | - <author> |
848 | | - <name>yoh</name> |
849 | | - |
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"><pre><code>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 | | -</code></pre></summary> |
873 | | - |
874 | | - <author> |
875 | | - <name>yoh</name> |
876 | | - |
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"><pre><code>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&lt;env-promise&lt;Env&gt;&gt; { |
891 | | - * is-awaitable[link ../is-awaitable.md] |
892 | | - * env&lt;&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&lt;&gt;[link /reference/coroutine/coroutine_handle.md] |
896 | | - * unspecified[italic] |
897 | | - |
898 | | -</code></pre></summary> |
899 | | - |
900 | | - <author> |
901 | | - <name>yoh</name> |
902 | | - |
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"><pre><code>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)`&lt;Sndr, Env&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&lt;Sndr, Env&gt;`のモデルとなる。 |
921 | | -+`sndr`と`rcvr`の[接続](connect.md)後に[Operation State](operation_state.md)を開始することで評価されうる完了操作が、全て許容可能完了(permissible completion)である場合、`Sndr`と`Env`は`sender_in&lt;Sndr, Env&gt;`のモデルとなる。 |
922 | | - |
923 | | - |
924 | | - ## 例 |
925 | | -</code></pre></summary> |
926 | | - |
927 | | - <author> |
928 | | - <name>yoh</name> |
929 | | - |
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"><pre><code>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 | | -</code></pre></summary> |
953 | | - |
954 | | - <author> |
955 | | - <name>yoh</name> |
956 | | - |
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"><pre><code>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&lt;class T, class Promise&gt; |
981 | | -+ concept has-as-awaitable = // exposition only |
982 | | -+ requires (T&amp;&amp; t, Promise&amp; p) { |
983 | | -+ { std::forward&lt;T&gt;(t).as_awaitable(p) } -&gt; is-awaitable&lt;Promise&amp;&gt;; |
984 | | -+ }; |
985 | | -+ |
986 | | -+ template&lt;class Derived&gt; |
987 | | -+ struct with-await-transform { // exposition only |
988 | | -+ template&lt;class T&gt; |
989 | | -+ T&amp;&amp; await_transform(T&amp;&amp; value) noexcept { |
990 | | -+ return std::forward&lt;T&gt;(value); |
991 | | -+ } |
992 | | -+ |
993 | | -+ template&lt;has-as-awaitable&lt;Derived&gt; T&gt; |
994 | | -+ decltype(auto) await_transform(T&amp;&amp; value) |
995 | | -+ noexcept(noexcept(std::forward&lt;T&gt;(value).as_awaitable(declval&lt;Derived&amp;&gt;()))) |
996 | | -+ { |
997 | | -+ return std::forward&lt;T&gt;(value).as_awaitable(static_cast&lt;Derived&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) |
1019 | 802 | </code></pre></summary> |
1020 | 803 |
|
1021 | 804 | <author> |
|
0 commit comments