emlabcpp
modern opinionated embedded C++ library
emlabcpp::rpc::class_wrapper< Class, Bindings > Class Template Reference

#include <rpc.h>

Public Types

using bindings_tuple = std::tuple< Bindings... >
 
using call_defs = bindings_tuple
 
using reactor_type = reactor< bindings_tuple >
 
using request_message_type = typename reactor_type::request_message_type
 
using reply_message_type = typename reactor_type::reply_message_type
 

Public Member Functions

 class_wrapper (Class &obj)
 
reply_message_type on_message (request_message_type const &msg)
 
template<std::size_t I, typename Request >
auto operator() (tag< I >, Request const &req)
 

Member Typedef Documentation

◆ bindings_tuple

template<typename Class , typename... Bindings>
using emlabcpp::rpc::class_wrapper< Class, Bindings >::bindings_tuple = std::tuple< Bindings... >

◆ call_defs

template<typename Class , typename... Bindings>
using emlabcpp::rpc::class_wrapper< Class, Bindings >::call_defs = bindings_tuple

◆ reactor_type

template<typename Class , typename... Bindings>
using emlabcpp::rpc::class_wrapper< Class, Bindings >::reactor_type = reactor< bindings_tuple >

◆ reply_message_type

template<typename Class , typename... Bindings>
using emlabcpp::rpc::class_wrapper< Class, Bindings >::reply_message_type = typename reactor_type::reply_message_type

◆ request_message_type

template<typename Class , typename... Bindings>
using emlabcpp::rpc::class_wrapper< Class, Bindings >::request_message_type = typename reactor_type::request_message_type

Constructor & Destructor Documentation

◆ class_wrapper()

template<typename Class , typename... Bindings>
emlabcpp::rpc::class_wrapper< Class, Bindings >::class_wrapper ( Class &  obj)
inline

Member Function Documentation

◆ on_message()

template<typename Class , typename... Bindings>
reply_message_type emlabcpp::rpc::class_wrapper< Class, Bindings >::on_message ( request_message_type const &  msg)
inline

◆ operator()()

template<typename Class , typename... Bindings>
template<std::size_t I, typename Request >
auto emlabcpp::rpc::class_wrapper< Class, Bindings >::operator() ( tag< I >  ,
Request const &  req 
)
inline

References emlabcpp::args.


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