namespace std::execution {
template<completion-signature... Fns>
struct completion_signatures {};
}
概要
completion_signatures
クラステンプレートは、完了シグネチャの集合をテンプレートパラメータとして表現する。
実行制御ライブラリ仕様定義では、説明専用のコンセプトvalid-completion-signatures
を利用する。
template<class Sigs>
concept valid-completion-signatures = see below;
Sigs
がcompletion_signatures
クラステンプレートの特殊化であるとき、Sigs
は説明専用コンセプトvalid-completion-signatures
のモデルである。
テンプレートパラメータ制約
Fns
の各要素Fn
が、下記の説明専用コンセプトcompletion-signature
を満たすこと。
template<class Fn>
concept completion-signature = see below;
型Fn
が下記いずれかを満たす関数型であるとき、Fn
はコンセプトcompletion-signature
を満たす。
set_value_t(Vs...)
(Vs
はオブジェクト型または参照型のパック)set_error_t(Err)
(Err
はオブジェクト型または参照型)set_stopped_t()
例
#include <execution>
namespace ex = std::execution;
int main()
{
// 下記の完了操作をサポートする完了シグネチャ集合型
// 値完了 set_value(int), set_value(int, int)
// エラー完了 set_error(std::exception_ptr)
// 停止完了 set_stopped()
using Sigs = ex::completion_signatures<
ex::set_value_t(int),
ex::set_value_t(int, int),
ex::set_error_t(std::exception_ptr),
ex::set_stopped_t()
>;
}
出力
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??