in include/unifex/static_thread_pool.hpp [153:167]
explicit type(context& pool, Receiver&& r)
: pool_(pool)
, receiver_((Receiver &&) r) {
this->execute = [](task_base* t) noexcept {
auto& op = *static_cast<type*>(t);
if constexpr (!is_stop_never_possible_v<
stop_token_type_t<Receiver>>) {
if (get_stop_token(op.receiver_).stop_requested()) {
unifex::set_done((Receiver &&) op.receiver_);
return;
}
}
unifex::set_value((Receiver &&) op.receiver_);
};
}