std::execution::just
From cppreference.com
| ヘッダ <execution> で定義 |
||
| struct just_t { /*未指定*/ }; |
(1) | (C++26以降) |
| inline constexpr just_t just{}; |
(2) | (C++26以降) (カスタマイズポイントオブジェクト) |
| 呼び出しシグネチャ |
||
| execution::sender auto just( auto&&... values ); |
(C++26以降) | |
receiverのset_value()を呼び出すことで即座に完了するsenderを返すsenderファクトリ。
サブ式のパックをtsとすると、式 just(ts...) は /*make-sender*/(just, /*product-type*/(ts...)) と 式等価である。
カスタマイゼーションポイントオブジェクト
execution::justという名前は、リテラルなsemiregularクラス型のconst 関数オブジェクトであるカスタマイズポイントオブジェクトを指す。その型のcv-unqualifiedバージョンはexecution::just_tとして知られるタグ型である。
execution::just_tのすべてのインスタンスは等しい。同じ引数で異なるexecution::just_t型のインスタンスを呼び出した場合の効果は、インスタンスを表す式がlvalueかrvalueか、またconst修飾されているか否かに関わらず同等である(ただし、volatile修飾されたインスタンスは呼び出し可能である必要はない)。したがって、execution::justは自由にコピーでき、そのコピーは相互に交換可能に使用できる。
型Args...のセットが与えられた場合、std::declval<Args>()... が上記のexecution::justへの引数の要件を満たす場合、execution::just_tは以下をモデル化する。
- std::invocable<execution::just_t, Args...>,
- std::invocable<const execution::just_t, Args...>,
- std::invocable<execution::just_t&, Args...>、および
- std::invocable<const execution::just_t&, Args...>.
それ以外の場合、execution::just_tの関数呼び出し演算子はオーバーロード解決に参加しない。
[編集] 例
| このセクションは未完成です 理由: 例がありません |