diff options
| author | Douglas Rumbaugh <dbr4@psu.edu> | 2023-05-22 13:25:20 -0400 |
|---|---|---|
| committer | Douglas Rumbaugh <dbr4@psu.edu> | 2023-05-22 13:25:20 -0400 |
| commit | 08d6c84b9d69b500c964a8ff66e726e1f01f2095 (patch) | |
| tree | 8bc156b54383de8a4a347e463901dcb7bdd1da10 /include/framework/QueryInterface.h | |
| parent | 6fd50506d2e50d2faf2478a2883a2ef1b4840a78 (diff) | |
| download | dynamic-extension-08d6c84b9d69b500c964a8ff66e726e1f01f2095.tar.gz | |
Progress towards generalization of shard interface
Diffstat (limited to 'include/framework/QueryInterface.h')
| -rw-r--r-- | include/framework/QueryInterface.h | 22 |
1 files changed, 22 insertions, 0 deletions
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 <drumbaugh@psu.edu> + * + * All rights reserved. Published under the Modified BSD License. + * + */ +#pragma once + +#include <concepts> +#include "util/types.h" + +template <typename Q> +concept QueryInterface = requires(Q q, void *p) { + {q.get_query_state(p, p)} -> std::convertible_to<void*>; + {q.get_buffer_query_state(p, p)}; + {q.query(p, p)}; + {q.buffer_query(p, p)}; + {q.merge()}; + {q.delete_query_state(p)}; +}; |