5#ifndef MP_TEST_FOO_TYPES_H
6#define MP_TEST_FOO_TYPES_H
12#include <capnp/common.h>
14#include <mp/test/foo.capnp.h>
40template <
typename Output>
44 output.setV2(value.
v2);
47template <
typename Input,
typename ReadDest>
50 messages::FooCustom::Reader custom = input.get();
51 return read_dest.update([&](
FooCustom& value) {
53 value.
v2 = custom.getV2();
61 test::messages::FooMessage::Builder&& builder)
63 builder.setMessage(src.
message +
" build");
67 const test::messages::FooMessage::Reader& reader,
70 dest.
message = std::string{reader.getMessage()} +
" read";
75 test::messages::FooMutable::Builder&& builder)
77 builder.setMessage(src.
message +
" build");
81 const test::messages::FooMutable::Reader& reader,
84 dest.
message = std::string{reader.getMessage()} +
" read";
88 const test::messages::FooMutable::Reader& reader,
89 test::messages::FooMutable::Builder builder,
93 mut.
message = std::string{reader.getMessage()} +
" pass";
95 builder.setMessage(mut.
message +
" return");
void CustomBuildField(TypeList< FooCustom >, Priority< 1 >, InvokeContext &invoke_context, const FooCustom &value, Output &&output)
decltype(auto) CustomReadField(TypeList< FooCustom >, Priority< 1 >, InvokeContext &invoke_context, Input &&input, ReadDest &&read_dest)
Functions to serialize / deserialize common bitcoin types.
void CustomPassMessage(InvokeContext &invoke_context, const test::messages::FooMutable::Reader &reader, test::messages::FooMutable::Builder builder, std::function< void(test::FooMutable &)> &&fn)
void BuildField(TypeList< LocalTypes... >, Context &context, Output &&output, Values &&... values)
void CustomBuildMessage(InvokeContext &invoke_context, const test::FooMessage &src, test::messages::FooMessage::Builder &&builder)
decltype(auto) ReadField(TypeList< LocalTypes... >, Args &&... args)
void CustomReadMessage(InvokeContext &invoke_context, const test::messages::FooMessage::Reader &reader, test::FooMessage &dest)
Function parameter type for prioritizing overloaded function calls that would otherwise be ambiguous.
Generic utility functions used by capnp code.