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-14T16:20:03.697091 </updated >
6- <id >78d6d8f8-467c-4f23-84e4-46719eafe68a </id >
5+ <updated >2025-04-14T16:23:22.761668 </updated >
6+ <id >27e240a6-0188-46ed-b7e4-24649985af69 </id >
77
88
9+ <entry >
10+ <title >env -- execution/env: fix ngword</title >
11+ <link href =" https://cpprefjp.github.io/reference/execution/execution/env.html" />
12+ <id >92a7237ce2698f7bc6fcaed781f171f579040706:reference/execution/execution/env.md</id >
13+ <updated >2025-04-15T01:19:47+09:00</updated >
14+
15+ <summary type =" html" >< pre>< code> diff --git a/reference/execution/execution/env.md b/reference/execution/execution/env.md
16+ index df547da64..4ebb6362c 100644
17+ --- a/reference/execution/execution/env.md
18+ +++ b/reference/execution/execution/env.md
19+ @@ -30,7 +30,7 @@ namespace std::execution {
20+
21+ `env`の特殊化は代入可能ではない。
22+
23+ -式リストが単一要素で構成される場合を除いて、`env`が括弧を用いた式リストによる初期化をサポートするか否かは未規定。
24+ +式リストが単一要素で構成される場合を除いて、`env`が丸カッコを用いた式リストによる初期化をサポートするか否かは未規定。
25+
26+
27+ ## メンバ関数
28+ < /code>< /pre> </summary >
29+
30+ <author >
31+ <name >yoh</name >
32+ 33+ </author >
34+ </entry >
35+
936 <entry >
1037 <title >execution -- execution: env,prop,queryable (#1384)</title >
1138 <link href =" https://cpprefjp.github.io/reference/execution/execution.html" />
@@ -1548,232 +1575,4 @@ index 000000000..364157770
15481575 </author >
15491576 </entry >
15501577
1551- <entry >
1552- <title >execution -- execution: operation_state (#1384)</title >
1553- <link href =" https://cpprefjp.github.io/reference/execution/execution.html" />
1554- <id >23cf8aa3b6c28c7bbe7d08ddaec5bd077cf3b0e4:reference/execution/execution.md</id >
1555- <updated >2025-04-13T17:07:04+09:00</updated >
1556-
1557- <summary type =" html" >< pre>< code> diff --git a/reference/execution/execution.md b/reference/execution/execution.md
1558- index bb710c76c..2e8c81770 100644
1559- --- a/reference/execution/execution.md
1560- +++ b/reference/execution/execution.md
1561- @@ -72,7 +72,7 @@ namespace std::execution {
1562-
1563- | 名前 | 説明 | 対応バージョン |
1564- |------|------|----------------|
1565- -| [`execution::operation_state`](execution/operation_state.md.nolink) | Operation State (concept) | C++26 |
1566- +| [`execution::operation_state`](execution/operation_state.md) | Operation State型 (concept) | C++26 |
1567- | [`execution::start`](execution/start.md.nolink) | 非同期操作の開始 (customization point object) | C++26 |
1568-
1569- ### Sender
1570- < /code>< /pre> </summary >
1571-
1572- <author >
1573- <name >yoh</name >
1574- 1575- </author >
1576- </entry >
1577-
1578- <entry >
1579- <title >operation_state -- execution: operation_state (#1384)</title >
1580- <link href =" https://cpprefjp.github.io/reference/execution/execution/operation_state.html" />
1581- <id >23cf8aa3b6c28c7bbe7d08ddaec5bd077cf3b0e4:reference/execution/execution/operation_state.md</id >
1582- <updated >2025-04-13T17:07:04+09:00</updated >
1583-
1584- <summary type =" html" >< pre>< code> diff --git a/reference/execution/execution/operation_state.md b/reference/execution/execution/operation_state.md
1585- new file mode 100644
1586- index 000000000..c5c20037b
1587- --- /dev/null
1588- +++ b/reference/execution/execution/operation_state.md
1589- @@ -0,0 +1,91 @@
1590- +# operation_state
1591- +* execution[meta header]
1592- +* concept[meta id-type]
1593- +* std::execution[meta namespace]
1594- +* cpp26[meta cpp]
1595- +
1596- +```cpp
1597- +namespace std::execution {
1598- + template& lt;class O& gt;
1599- + concept operation_state =
1600- + derived_from& lt;typename O::operation_state_concept, operation_state_t& gt; & amp;& amp;
1601- + is_object_v& lt;O& gt; & amp;& amp;
1602- + requires (O& amp; o) {
1603- + { start(o) } noexcept;
1604- + };
1605- +
1606- + struct operation_state_t {}; // タグ型
1607- +}
1608- +```
1609- +* derived_from[link /reference/concepts/derived_from.md]
1610- +* is_object_v[link /reference/type_traits/is_object.md]
1611- +* start[link start.md.nolink]
1612- +
1613- +## 概要
1614- +`operation_state`は、型`O`がOperation State型の要件を満たすことを表すコンセプトである。
1615- +
1616- +下記をみたすクラス型はOperation Stateとみなせる。
1617- +
1618- +- `operation_state_t`をメンバ型`O::operation_state_concept`として定義するクラス型
1619- +- `O`型の左辺値`o`に対して`execution::start(o)`が有効な式かつ例外送出されないこと
1620- +
1621- +非同期操作の生存期間中に`operation_state`オブジェクトが破棄されると、未定義の動作を引き起こす。
1622- +
1623- +
1624- +## 例
1625- +```cpp
1626- +#include & lt;print& gt;
1627- +#include & lt;execution& gt;
1628- +namespace ex = std::execution;
1629- +
1630- +struct ValueReceiver {
1631- + using receiver_concept = ex::receiver_t;
1632- +
1633- + void set_value(int v) noexcept
1634- + {
1635- + std::println(& #34;{}& #34;, v);
1636- + }
1637- +};
1638- +
1639- +int main()
1640- +{
1641- + // 値42を送信するSender
1642- + ex::sender auto sndr = ex::just(42);
1643- + // int値を受信して表示するReceiver
1644- + ValueReceiver rcvr;
1645- +
1646- + // SenderとReceiverを接続
1647- + ex::operation_state auto op = ex::connect(sndr, rcvr);
1648- + // Operation Stateを開始
1649- + ex::start(op);
1650- +}
1651- +```
1652- +* ex::operation_state[color ff0000]
1653- +* ex::sender[link sender.md]
1654- +* ex::just[link just.md.nolink]
1655- +* ex::connect[link connect.md.nolink]
1656- +* ex::start[link start.md.nolink]
1657- +
1658- +### 出力
1659- +```
1660- +42
1661- +```
1662- +
1663- +
1664- +## バージョン
1665- +### 言語
1666- +- C++26
1667- +
1668- +### 処理系
1669- +- [Clang](/implementation.md#clang): ??
1670- +- [GCC](/implementation.md#gcc): ??
1671- +- [ICC](/implementation.md#icc): ??
1672- +- [Visual C++](/implementation.md#visual_cpp): ??
1673- +
1674- +
1675- +## 関連項目
1676- +- [`execution::connect`](connect.md.nolink)
1677- +
1678- +
1679- +## 参照
1680- +- [P2300R10 `std::execution`](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)
1681- < /code>< /pre> </summary >
1682-
1683- <author >
1684- <name >yoh</name >
1685- 1686- </author >
1687- </entry >
1688-
1689- <entry >
1690- <title >sender_in -- execution: operation_state (#1384)</title >
1691- <link href =" https://cpprefjp.github.io/reference/execution/execution/sender_in.html" />
1692- <id >23cf8aa3b6c28c7bbe7d08ddaec5bd077cf3b0e4:reference/execution/execution/sender_in.md</id >
1693- <updated >2025-04-13T17:07:04+09:00</updated >
1694-
1695- <summary type =" html" >< pre>< code> diff --git a/reference/execution/execution/sender_in.md b/reference/execution/execution/sender_in.md
1696- index 00c8523b1..c5d35fd1b 100644
1697- --- a/reference/execution/execution/sender_in.md
1698- +++ b/reference/execution/execution/sender_in.md
1699- @@ -31,7 +31,7 @@ namespace std::execution {
1700-
1701- また、ある完了操作の完了シグネチャが[`completion_signatures_of_t`](completion_signatures_of_t.md)`& lt;Sndr, Env& gt;`で取得される[`completion_signatures`](completion_signatures.md)リストに含まれるとき、`Sndr`と`Env`における許容可能完了(permissible completion)となる。
1702-
1703- -`sndr`と`rcvr`の接続後に[Operation State](operation_state.md.nolink)を開始することで評価されうる完了操作が、全て許容可能完了(permissible completion)である場合、`Sndr`と`Env`は`sender_in& lt;Sndr, Env& gt;`のモデルとなる。
1704- +`sndr`と`rcvr`の接続後に[Operation State](operation_state.md)を開始することで評価されうる完了操作が、全て許容可能完了(permissible completion)である場合、`Sndr`と`Env`は`sender_in& lt;Sndr, Env& gt;`のモデルとなる。
1705-
1706-
1707- ## 例
1708- < /code>< /pre> </summary >
1709-
1710- <author >
1711- <name >yoh</name >
1712- 1713- </author >
1714- </entry >
1715-
1716- <entry >
1717- <title >sender_to -- execution: operation_state (#1384)</title >
1718- <link href =" https://cpprefjp.github.io/reference/execution/execution/sender_to.html" />
1719- <id >23cf8aa3b6c28c7bbe7d08ddaec5bd077cf3b0e4:reference/execution/execution/sender_to.md</id >
1720- <updated >2025-04-13T17:07:04+09:00</updated >
1721-
1722- <summary type =" html" >< pre>< code> diff --git a/reference/execution/execution/sender_to.md b/reference/execution/execution/sender_to.md
1723- index 1fe7b9055..84fc45ba8 100644
1724- --- a/reference/execution/execution/sender_to.md
1725- +++ b/reference/execution/execution/sender_to.md
1726- @@ -49,15 +49,16 @@ int main()
1727- // int値を受信して表示するReceiver
1728- ValueReceiver rcvr;
1729-
1730- - // SenderとReceiver接続後にOperation Stateを開始
1731- + // SenderとReceiverを接続
1732- ex::operation_state auto op = ex::connect(sndr, rcvr);
1733- + // Operation Stateを開始
1734- ex::start(op);
1735- }
1736- ```
1737- * ex::sender_to[color ff0000]
1738- * ex::sender[link sender.md]
1739- * ex::just[link just.md.nolink]
1740- -* ex::operation_state[link operation_state.md.nolink]
1741- +* ex::operation_state[link operation_state.md]
1742- * ex::connect[link connect.md.nolink]
1743- * ex::start[link start.md.nolink]
1744-
1745- < /code>< /pre> </summary >
1746-
1747- <author >
1748- <name >yoh</name >
1749- 1750- </author >
1751- </entry >
1752-
1753- <entry >
1754- <title >スタイル -- execution: operation_state (#1384)</title >
1755- <link href =" https://cpprefjp.github.io/working_style.html" />
1756- <id >23cf8aa3b6c28c7bbe7d08ddaec5bd077cf3b0e4:working_style.md</id >
1757- <updated >2025-04-13T17:07:04+09:00</updated >
1758-
1759- <summary type =" html" >< pre>< code> diff --git a/working_style.md b/working_style.md
1760- index e1b6820e7..88d0da3a7 100644
1761- --- a/working_style.md
1762- +++ b/working_style.md
1763- @@ -67,6 +67,7 @@ C++11以降対応については対応バージョンを明記します。バー
1764- | apply, application | 適用 |
1765- | arithmetic type | 算術型 |
1766- | associative container(s) | 連想コンテナ |
1767- +| asynchronous operation | 非同期操作 |
1768- | base class | 基底クラス |
1769- | bidirectional iterator | 双方向イテレータ |
1770- | bucket | バケット |
1771- < /code>< /pre> </summary >
1772-
1773- <author >
1774- <name >yoh</name >
1775- 1776- </author >
1777- </entry >
1778-
17791578</feed >
0 commit comments