Skip to content

Commit 363fa5f

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 0350c61 commit 363fa5f

File tree

1 file changed

+2
-115
lines changed

1 file changed

+2
-115
lines changed

rss.xml

Lines changed: 2 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
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-15T04:14:23.014019</updated>
6-
<id>130afdee-487f-434e-afc3-a0330108c301</id>
5+
<updated>2025-04-15T05:16:09.620540</updated>
6+
<id>52b184a8-4538-463b-9acc-9c3e2f6e412e</id>
77

88

99
<entry>
@@ -1475,117 +1475,4 @@ index ed10d259b..86ed8088d 100644
14751475
</author>
14761476
</entry>
14771477

1478-
<entry>
1479-
<title>sender -- execution: is-awaitable (#1384)</title>
1480-
<link href="https://cpprefjp.github.io/reference/execution/execution/sender.html"/>
1481-
<id>c22f5566bef585080db7bde797aa85e25ba1e413:reference/execution/execution/sender.md</id>
1482-
<updated>2025-04-14T22:11:13+09:00</updated>
1483-
1484-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/execution/sender.md b/reference/execution/execution/sender.md
1485-
index 671e7c6cc..19c77f609 100644
1486-
--- a/reference/execution/execution/sender.md
1487-
+++ b/reference/execution/execution/sender.md
1488-
@@ -47,7 +47,7 @@ struct env-promise : with-await-transform&amp;lt;env-promise&amp;lt;Env&amp;gt;&amp;gt; {
1489-
const Env&amp;amp; get_env() const noexcept;
1490-
};
1491-
```
1492-
-* is-awaitable[link is-awaitable.md.nolink]
1493-
+* is-awaitable[link ../is-awaitable.md]
1494-
* env&amp;lt;&amp;gt;[link env.md.nolink]
1495-
* derived_from[link /reference/concepts/derived_from.md]
1496-
* coroutine_handle&amp;lt;&amp;gt;[link /reference/coroutine/coroutine_handle.md]
1497-
&lt;/code&gt;&lt;/pre&gt;</summary>
1498-
1499-
<author>
1500-
<name>yoh</name>
1501-
<email>kawasaki.liamg@gmail.com</email>
1502-
</author>
1503-
</entry>
1504-
1505-
<entry>
1506-
<title>is-awaitable -- execution: is-awaitable (#1384)</title>
1507-
<link href="https://cpprefjp.github.io/reference/execution/is-awaitable.html"/>
1508-
<id>c22f5566bef585080db7bde797aa85e25ba1e413:reference/execution/is-awaitable.md</id>
1509-
<updated>2025-04-14T22:11:13+09:00</updated>
1510-
1511-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/execution/is-awaitable.md b/reference/execution/is-awaitable.md
1512-
new file mode 100644
1513-
index 000000000..c5cd3bec2
1514-
--- /dev/null
1515-
+++ b/reference/execution/is-awaitable.md
1516-
@@ -0,0 +1,66 @@
1517-
+# is-awaitable
1518-
+* execution[meta header]
1519-
+* concept[meta id-type]
1520-
+* std[meta namespace]
1521-
+* cpp26[meta cpp]
1522-
+
1523-
+```cpp
1524-
+template&amp;lt;class C, class Promise&amp;gt;
1525-
+concept is-awaitable;
1526-
+```
1527-
+
1528-
+## 概要
1529-
+`is-awaitable`は、Promise型をもつ[コルーチンのco_await演算子](/lang/cpp20/coroutines.md)オペランドにおいて`C`型オブジェクトが妥当であることを表す説明専用コンセプトである。
1530-
+
1531-
+
1532-
+## 要件
1533-
+説明用の式`GET-AWAITER(c, p)`を、Promise型`p`をもつコルーチン内の`co_await`演算子オペランドに適用される一連変換後の左辺値とする。
1534-
+
1535-
+- (有効ならば)Promise型の`await_transform`メンバ関数を適用
1536-
+- (有効ならば)`co_await`演算子オーバーロードを適用
1537-
+
1538-
+また、説明用のコンセプト`await-suspend-result`, `is-awaiter`を以下のように定義する。
1539-
+
1540-
+```cpp
1541-
+template&amp;lt;class T&amp;gt;
1542-
+concept await-suspend-result = /*see below*/;
1543-
+
1544-
+template&amp;lt;class A, class Promise&amp;gt;
1545-
+concept is-awaiter =
1546-
+ requires (A&amp;amp; a, coroutine_handle&amp;lt;Promise&amp;gt; h) {
1547-
+ a.await_ready() ? 1 : 0;
1548-
+ { a.await_suspend(h) } -&amp;gt; await-suspend-result;
1549-
+ a.await_resume();
1550-
+ };
1551-
+```
1552-
+* coroutine_handle[link /reference/coroutine/coroutine_handle.md]
1553-
+
1554-
+下記いずれかのうち1つが`true`のとき、`await-suspend-result&amp;lt;T&amp;gt;`は`true`となる。
1555-
+
1556-
+- `T`が`void`、もしくは
1557-
+- `T`が`bool`、もしくは
1558-
+- `T`が[`coroutine_handle`](/reference/coroutine/coroutine_handle.md)の特殊化
1559-
+
1560-
+`is-awaitable`コンセプトは、以下のように定義される。
1561-
+
1562-
+```cpp
1563-
+template&amp;lt;class C, class Promise&amp;gt;
1564-
+concept is-awaitable =
1565-
+ requires (C (*fc)() noexcept, Promise&amp;amp; p) {
1566-
+ { GET-AWAITER(fc(), p) } -&amp;gt; is-awaiter&amp;lt;Promise&amp;gt;;
1567-
+ };
1568-
+```
1569-
+* GET-AWAITER[italic]
1570-
+
1571-
+
1572-
+## バージョン
1573-
+### 言語
1574-
+- C++26
1575-
+
1576-
+
1577-
+## 関連項目
1578-
+- [コルーチン](/lang/cpp20/coroutines.md)
1579-
+
1580-
+
1581-
+## 参照
1582-
+- [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)
1583-
&lt;/code&gt;&lt;/pre&gt;</summary>
1584-
1585-
<author>
1586-
<name>yoh</name>
1587-
<email>kawasaki.liamg@gmail.com</email>
1588-
</author>
1589-
</entry>
1590-
15911478
</feed>

0 commit comments

Comments
 (0)