/* * include/framework/QueryInterface.h * * Copyright (C) 2023 Douglas Rumbaugh * * All rights reserved. Published under the Modified BSD License. * */ #pragma once #include #include #include "framework/interface/Record.h" #include "util/types.h" template concept SchedulerInterface = requires(S s, size_t i, void *vp) { {S(i, i)}; // {s.schedule_merge(vp, vp)}; /* {q.get_query_state(p, p)} -> std::convertible_to; {q.get_buffer_query_state(p, p)}; {q.query(p, p)}; {q.buffer_query(p, p)}; {q.merge()}; {q.delete_query_state(p)}; */ //{Q::get_query_state(p, p)} -> std::convertible_to; //{Q::get_buffer_query_state(p, p)} -> std::convertible_to; };