最終更新日時(UTC):
が更新

履歴 編集

function
<execution>

std::execution::task_scheduler::schedule(C++26)

ts-sender schedule();

概要

保持中SchedulerスケジュールSenderを返す。

効果

schedule(SCHED(*this))で初期化されたSenderを保持する、説明専用のts-sender型オブジェクトを返す。

説明専用エンティティ

クラスts-sender

説明専用のクラスtask_scheduler::ts-senderは下記の通り定義される。

class task_scheduler::ts-sender { // exposition only
public:
  using sender_concept = sender_t;

  template <receiver R>
  state<R> connect(R&& rcvr);
};

ts-sendersenderのモデルであり、completion_signatures_of_t<ts-sender>は下記となる :

説明用のschtask_sender型のオブジェクト、sndrschedule(sch)により得られるts-sender型のオブジェクトとする。get_completion_scheduler<set_value_t>(get_env(sndr)) == schtrueとなる。オブジェクトSENDER(sndr)は、sndrまたは同オブジェクトからムーブ構築されたSenderオブジェクトとする。

template<receiver Rcvr>
state<Rcvr> connect(Rcvr&& rcvr) &&;

  • 効果 : rreceiverのモデルである型のオブジェクトとし、その完了ハンドラは rcvrまたはそのコピーに対応する完了ハンドラを呼び出すものとする。connect(SENDER(*this), std::move(r))で初期化されたOperation Stateオブジェクトを保持するstate<Rcvr>型のオブジェクトを返す。

クラステンプレートstate

説明専用のクラステンプレートtask_scheduler::stateは下記の通り定義される。

template <receiver R>
class task_scheduler::state { // exposition only
public:
  using operation_state_concept = operation_state_t;

  void start() & noexcept;
};

stateの特殊化はoperation_stateのモデルである。

void start() & noexcept;

  • 効果 : st*thisに含まれるOperation Stateオブジェクトとして、start(st)と等価。

バージョン

言語

  • C++26

処理系

関連項目

参照