Bitcoin Core  29.1.0
P2P Digital Currency
Namespaces | Functions | Variables
common-types.h File Reference
#include <clientversion.h>
#include <interfaces/types.h>
#include <primitives/transaction.h>
#include <serialize.h>
#include <streams.h>
#include <univalue.h>
#include <cstddef>
#include <mp/proxy-types.h>
#include <mp/type-chrono.h>
#include <mp/type-context.h>
#include <mp/type-data.h>
#include <mp/type-decay.h>
#include <mp/type-interface.h>
#include <mp/type-message.h>
#include <mp/type-number.h>
#include <mp/type-optional.h>
#include <mp/type-pointer.h>
#include <mp/type-string.h>
#include <mp/type-struct.h>
#include <mp/type-threadmap.h>
#include <mp/type-vector.h>
#include <type_traits>
#include <utility>
Include dependency graph for common-types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 ipc
 
 ipc::capnp
 
 mp
 Functions to serialize / deserialize common bitcoin types.
 

Functions

template<typename S >
auto ipc::capnp::Wrap (S &s)
 Construct a ParamStream wrapping a data stream with serialization parameters needed to pass transaction objects between bitcoin processes. More...
 
template<typename LocalType , typename Value , typename Output >
void mp::CustomBuildField (TypeList< LocalType >, Priority< 1 >, InvokeContext &invoke_context, Value &&value, Output &&output) requires Serializable< LocalType
 Overload multiprocess library's CustomBuildField hook to allow any serializable object to be stored in a capnproto Data field or passed to a capnproto interface. More...
 
value mp::Serialize (wrapper)
 
 mp::memcpy (result.begin(), stream.data(), stream.size())
 
template<typename LocalType , typename Input , typename ReadDest >
decltype(auto) mp::CustomReadField (TypeList< LocalType >, Priority< 1 >, InvokeContext &invoke_context, Input &&input, ReadDest &&read_dest) requires Unserializable< LocalType
 Overload multiprocess library's CustomReadField hook to allow any object with an Unserialize method to be read from a capnproto Data field or returned from capnproto interface. More...
 
template<typename Input , typename ReadDest >
decltype(auto) mp::CustomReadField (TypeList< UniValue >, Priority< 1 >, InvokeContext &invoke_context, Input &&input, ReadDest &&read_dest)
 

Variables

template<typename T >
concept ipc::capnp::Deserializable = std::is_constructible_v<T, ::deserialize_type, ::DataStream&>
 Detect if type has a deserialize_type constructor, which is used to deserialize types like CTransaction that can't be unserialized into existing objects because they are immutable. More...
 
auto mp::wrapper {ipc::capnp::Wrap(stream)}
 
auto mp::result = output.init(stream.size())