名前空間
変種
操作

std::execution::just_error

From cppreference.com
< cpp‎ | execution
 
 
 
ヘッダ <execution> で定義
inline constexpr just_error_t just_error{};
struct just_error_t { /* unspecified */ };
(C++26以降)
(カスタマイズポイントオブジェクト)
呼び出しシグネチャ
execution::sender auto just_error( auto&& error );
(C++26以降)

受信者の set_error() を呼び出して即座に完了する sender を返す sender ファクトリ。

入力エラーを表すサブ式 e があり、これが受信者によって注入され返されるとします。just_error(e) という式は、/* make-sender */(just_error, /* product-type */(e))式等価です。

カスタマイゼーションポイントオブジェクト

execution::just_error という名前は、*カスタマイゼーションポイントオブジェクト* を表します。これは、`const` でリテラルな、semiregular なクラス型の関数オブジェクトです。その型の cv 修飾されていないバージョンは、execution::just_error_t という名前のタグ型です。

execution::just_error_t のすべてのインスタンスは等価です。同じ引数に対して異なる execution::just_error_t 型のインスタンスを呼び出す効果は、インスタンスを表す式が左辺値参照か右辺値参照か、また `const` 修飾されているかどうかにかかわらず等価です(ただし、`volatile` 修飾されたインスタンスは呼び出し可能である必要はありません)。したがって、execution::just_error は自由にコピーでき、そのコピーは相互に交換可能に使用できます。

Args... のセットが与えられた場合、std::declval<Args>()... が上記の execution::just_error への引数の要件を満たす場合、execution::just_error_t は以下をモデル化します。

それ以外の場合、execution::just_error_t の関数呼び出し演算子はオーバーロード解決に参加しません。

[編集] 注記

提供されたエラーが左辺値参照の場合、返される sender 内にコピーが作成され、そのコピーへの非 `const` 左辺値参照が受信者の set_error に送信されます。提供された値が右辺値参照の場合、sender 内に移動され、その右辺値参照が受信者の set_error に送信されます。

[編集]

English 日本語 中文(简体) 中文(繁體)