diff options
Diffstat (limited to 'include/framework/RecordInterface.h')
| -rw-r--r-- | include/framework/RecordInterface.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/framework/RecordInterface.h b/include/framework/RecordInterface.h index a3f6814..8d40590 100644 --- a/include/framework/RecordInterface.h +++ b/include/framework/RecordInterface.h @@ -40,6 +40,17 @@ concept KVPInterface = RecordInterface<R> && requires(R r) { r.value; }; +template<typename R> +concept WrappedInterface = RecordInterface<R> && requires(R r, R s, bool b) { + {r.header} -> std::convertible_to<uint32_t>; + r.rec; + {r.set_delete()}; + {r.is_deleted()} -> std::convertible_to<bool>; + {r.set_tombstone(b)}; + {r.is_tombstone()} -> std::convertible_to<bool>; + {r < s} -> std::convertible_to<bool>; +}; + template<RecordInterface R> struct Wrapped { uint32_t header; |