/* * include/framework/interface/Scheduler.h * * Copyright (C) 2023-2024 Douglas B. Rumbaugh * * Distributed under the Modified BSD License. * */ #pragma once #include "framework/scheduling/Task.h" template concept SchedulerInterface = requires(SchedType s, size_t i, void *vp, de::Job j) { {SchedType(i, i)}; { s.schedule_job(j, i, vp, i) } -> std::convertible_to; {s.shutdown()}; {s.print_statistics()}; };