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