Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
mp::ProxyMethodTraits< MethodParams, Require< decltype(ProxyMethod< MethodParams >::impl)> > Struct Template Reference

Specialization of above for proxy methods that have a ProxyMethod<InterfaceName::MethodNameParams>::impl pointer-to-method constant defined by generated code. More...

#include <proxy.h>

Inheritance diagram for mp::ProxyMethodTraits< MethodParams, Require< decltype(ProxyMethod< MethodParams >::impl)> >:
[legend]
Collaboration diagram for mp::ProxyMethodTraits< MethodParams, Require< decltype(ProxyMethod< MethodParams >::impl)> >:
[legend]

Static Public Member Functions

template<typename ServerContext , typename... Args>
static decltype(autoinvoke (ServerContext &server_context, Args &&... args)
 

Detailed Description

template<typename MethodParams>
struct mp::ProxyMethodTraits< MethodParams, Require< decltype(ProxyMethod< MethodParams >::impl)> >

Specialization of above for proxy methods that have a ProxyMethod<InterfaceName::MethodNameParams>::impl pointer-to-method constant defined by generated code.

This includes all functions defined in the capnp interface except any construct() or destroy() methods, that are assumed not to correspond to real member functions in the C++ class, and will use the fallback traits definition above. The generated code this specialization relies on looks like:

struct ProxyMethod<InterfaceName::MethodNameParams> { static constexpr auto impl = &ClassName::methodName; };

Definition at line 283 of file proxy.h.

Member Function Documentation

◆ invoke()

template<typename MethodParams >
template<typename ServerContext , typename... Args>
static decltype(auto) mp::ProxyMethodTraits< MethodParams, Require< decltype(ProxyMethod< MethodParams >::impl)> >::invoke ( ServerContext & server_context,
Args &&... args )
inlinestatic

Definition at line 287 of file proxy.h.

Here is the call graph for this function:

The documentation for this struct was generated from the following file: