emlabcpp
modern opinionated embedded C++ library
emlabcpp::coro::request_reply< RequestType, ReplyType > Class Template Reference

#include <request_reply.h>

Classes

struct  awaiter
 
struct  promise_type
 

Public Types

using request_type = RequestType
 
using reply_type = ReplyType
 
using handle = std::coroutine_handle< promise_type >
 
using owning_handle = owning_coroutine_handle< promise_type >
 

Public Member Functions

 request_reply ()=default
 
 request_reply (handle const cor)
 
 request_reply (request_reply const &)=delete
 
request_replyoperator= (request_reply const &)=delete
 
 request_reply (request_reply &&) noexcept=default
 
request_replyoperator= (request_reply &&) noexcept=default
 
RequestType const * get_request ()
 
bool has_reply ()
 
void store_reply (ReplyType const &inpt)
 
 operator bool () const
 
bool done () const
 
bool tick ()
 
void * address () const
 

Member Typedef Documentation

◆ handle

template<typename RequestType , typename ReplyType >
using emlabcpp::coro::request_reply< RequestType, ReplyType >::handle = std::coroutine_handle< promise_type >

◆ owning_handle

template<typename RequestType , typename ReplyType >
using emlabcpp::coro::request_reply< RequestType, ReplyType >::owning_handle = owning_coroutine_handle< promise_type >

◆ reply_type

template<typename RequestType , typename ReplyType >
using emlabcpp::coro::request_reply< RequestType, ReplyType >::reply_type = ReplyType

◆ request_type

template<typename RequestType , typename ReplyType >
using emlabcpp::coro::request_reply< RequestType, ReplyType >::request_type = RequestType

Constructor & Destructor Documentation

◆ request_reply() [1/4]

template<typename RequestType , typename ReplyType >
emlabcpp::coro::request_reply< RequestType, ReplyType >::request_reply ( )
default

◆ request_reply() [2/4]

template<typename RequestType , typename ReplyType >
emlabcpp::coro::request_reply< RequestType, ReplyType >::request_reply ( handle const  cor)
inline

◆ request_reply() [3/4]

template<typename RequestType , typename ReplyType >
emlabcpp::coro::request_reply< RequestType, ReplyType >::request_reply ( request_reply< RequestType, ReplyType > const &  )
delete

◆ request_reply() [4/4]

template<typename RequestType , typename ReplyType >
emlabcpp::coro::request_reply< RequestType, ReplyType >::request_reply ( request_reply< RequestType, ReplyType > &&  )
defaultnoexcept

Member Function Documentation

◆ address()

template<typename RequestType , typename ReplyType >
void* emlabcpp::coro::request_reply< RequestType, ReplyType >::address ( ) const
inline

◆ done()

template<typename RequestType , typename ReplyType >
bool emlabcpp::coro::request_reply< RequestType, ReplyType >::done ( ) const
inline

◆ get_request()

template<typename RequestType , typename ReplyType >
RequestType const* emlabcpp::coro::request_reply< RequestType, ReplyType >::get_request ( )
inline

◆ has_reply()

template<typename RequestType , typename ReplyType >
bool emlabcpp::coro::request_reply< RequestType, ReplyType >::has_reply ( )
inline

◆ operator bool()

template<typename RequestType , typename ReplyType >
emlabcpp::coro::request_reply< RequestType, ReplyType >::operator bool ( ) const
inline

◆ operator=() [1/2]

template<typename RequestType , typename ReplyType >
request_reply& emlabcpp::coro::request_reply< RequestType, ReplyType >::operator= ( request_reply< RequestType, ReplyType > &&  )
defaultnoexcept

◆ operator=() [2/2]

template<typename RequestType , typename ReplyType >
request_reply& emlabcpp::coro::request_reply< RequestType, ReplyType >::operator= ( request_reply< RequestType, ReplyType > const &  )
delete

◆ store_reply()

template<typename RequestType , typename ReplyType >
void emlabcpp::coro::request_reply< RequestType, ReplyType >::store_reply ( ReplyType const &  inpt)
inline

◆ tick()


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