From 08d6c84b9d69b500c964a8ff66e726e1f01f2095 Mon Sep 17 00:00:00 2001 From: Douglas Rumbaugh Date: Mon, 22 May 2023 13:25:20 -0400 Subject: Progress towards generalization of shard interface --- include/framework/QueryInterface.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 include/framework/QueryInterface.h (limited to 'include/framework/QueryInterface.h') diff --git a/include/framework/QueryInterface.h b/include/framework/QueryInterface.h new file mode 100644 index 0000000..eafeeb0 --- /dev/null +++ b/include/framework/QueryInterface.h @@ -0,0 +1,22 @@ +/* + * include/framework/QueryInterface.h + * + * Copyright (C) 2023 Douglas Rumbaugh + * + * All rights reserved. Published under the Modified BSD License. + * + */ +#pragma once + +#include +#include "util/types.h" + +template +concept QueryInterface = requires(Q q, void *p) { + {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)}; +}; -- cgit v1.2.3