barretenberg
Loading...
Searching...
No Matches
src
barretenberg
serialize
msgpack_impl
concepts.hpp
1
#pragma once
2
3
struct
DoNothing
{
4
void
operator()(
auto
...) {}
5
};
6
namespace
msgpack_concepts {
7
template
<
typename
T>
8
concept
HasMsgPack
=
requires
(T t,
DoNothing
nop) { t.msgpack(nop); };
9
10
template
<
typename
T>
11
concept
HasMsgPackSchema
=
requires
(
const
T t,
DoNothing
nop) { t.msgpack_schema(nop); };
12
13
template
<
typename
T>
14
concept
HasMsgPackPack
=
requires
(T t,
DoNothing
nop) { t.msgpack_pack(nop); };
15
template
<
typename
T,
typename
... Args>
16
concept
MsgpackConstructible
=
requires
(T object, Args... args) { T{ args... }; };
17
18
}
// namespace msgpack_concepts
msgpack_concepts::HasMsgPackPack
Definition:
concepts.hpp:14
msgpack_concepts::HasMsgPackSchema
Definition:
concepts.hpp:11
msgpack_concepts::HasMsgPack
Definition:
concepts.hpp:8
msgpack_concepts::MsgpackConstructible
Definition:
concepts.hpp:16
DoNothing
Definition:
concepts.hpp:3
Generated by
1.9.6