std::execution::scheduler
Min standard notice:
Header: <execution>
The concept scheduler is modeled by types that are schedulers, that is, lightweight handlers to execution resources such as thread pools that work with the C++ execution library.
# Declarations
template< class Sch >
concept scheduler =
std::derived_from<
typename std::remove_cvref_t<Sch>::scheduler_concept,
scheduler_t> &&
/*queryable*/<Sch> &&
requires(Sch&& sch)
{
{
std::execution::schedule(std::forward<Sch>(sch))
} -> std::execution::sender;
{
auto(
std::execution::get_completion_scheduler<
std::execution::set_value_t>(
std::execution::get_env(
std::execution::schedule(
std::forward<Sch>(sch)))))
} -> std::same_as<std::remove_cvref_t<Sch>>;
} &&
std::equality_comparable<std::remove_cvref_t<Sch>> &&
std::copy_constructible<std::remove_cvref_t<Sch>>;
};
(since C++26)
Helper tag type
struct scheduler_t {};
(since C++26)