Bitcoin Core  31.0.0
P2P Digital Currency
type-decay.h
Go to the documentation of this file.
1 // Copyright (c) The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef MP_PROXY_TYPE_DECAY_H
6 #define MP_PROXY_TYPE_DECAY_H
7 
8 #include <mp/util.h>
9 
10 namespace mp {
11 template <typename LocalType, typename Value, typename Output>
12 void CustomBuildField(TypeList<const LocalType>,
13  Priority<0>,
14  InvokeContext& invoke_context,
15  Value&& value,
16  Output&& output)
17 {
18  BuildField(TypeList<LocalType>(), invoke_context, output, std::forward<Value>(value));
19 }
20 
21 template <typename LocalType, typename Value, typename Output>
22 void CustomBuildField(TypeList<LocalType&>, Priority<0>, InvokeContext& invoke_context, Value&& value, Output&& output)
23 {
24  BuildField(TypeList<LocalType>(), invoke_context, output, std::forward<Value>(value));
25 }
26 
27 template <typename LocalType, typename Value, typename Output>
30  InvokeContext& invoke_context,
31  Value&& value,
32  Output&& output)
33 {
34  BuildField(TypeList<LocalType>(), invoke_context, output, std::forward<Value>(value));
35 }
36 } // namespace mp
37 
38 #endif // MP_PROXY_TYPE_DECAY_H
Generic utility functions used by capnp code.
Definition: util.h:32
Specialization of above (base case)
Definition: util.h:114
Functions to serialize / deserialize common bitcoin types.
Definition: common-types.h:57
void BuildField(TypeList< LocalTypes... >, Context &context, Output &&output, Values &&... values)
Definition: proxy-types.h:250
void CustomBuildField(TypeList< LocalType >, Priority< 1 >, InvokeContext &invoke_context, Value &&value, Output &&output) requires Serializable< LocalType
Overload multiprocess library&#39;s CustomBuildField hook to allow any serializable object to be stored i...