Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
concepts.hpp
Go to the documentation of this file.
1#pragma once
2
3struct DoNothing {
4 void operator()(auto...) {}
5};
6namespace msgpack_concepts {
7template <typename T>
8concept HasMsgPack = requires(T t, DoNothing nop) { t.msgpack(nop); };
9
10template <typename T>
11concept HasMsgPackSchema = requires(const T t, DoNothing nop) { t.msgpack_schema(nop); };
12
13template <typename T>
14concept HasMsgPackPack = requires(T t, DoNothing nop) { t.msgpack_pack(nop); };
15template <typename T, typename... Args>
16concept MsgpackConstructible = requires(T object, Args... args) { T{ args... }; };
17
18} // namespace msgpack_concepts
void operator()(auto...)
Definition concepts.hpp:4