 
 
trackable templated response which holds user-supplied response payload. More...
#include <request.hpp>
| Public Types | |
| using | request_t = typename request_unwrapper_t<Request>::request_t | 
| alias for original user-supplied request type | |
| using | req_message_t = message_t<wrapped_request_t<request_t>> | 
| alias type of message with wrapped request, which is possibly wrapped into intrusive pointer | |
| using | req_message_ptr_t = intrusive_ptr_t<req_message_t> | 
| alias for intrusive pointer to message with wrapped request | |
| using | response_t = typename request_t::response_t | 
| alias for possibly wrapped user-supplied response type | |
| using | res_helper_t = response_helper_t<response_t> | 
| helper type for response construction | |
| using | unwrapped_response_t = typename res_helper_t::response_t | 
| alias user-supplied response type | |
| Public Member Functions | |
| wrapped_response_t (const extended_error_ptr_t &ee_, req_message_ptr_t message_) | |
| error-response constructor (response payload is empty) | |
| template<typename Response, typename E = std::enable_if_t<std::is_same_v<response_t, std::remove_cv_t<Response>>>> | |
| wrapped_response_t (req_message_ptr_t message_, const extended_error_ptr_t &ee_, Response &&res_) | |
| "forward-constructor" | |
| template<typename Req, typename... Args, typename E1 = std::enable_if_t<std::is_same_v<req_message_ptr_t, std::remove_cv_t<Req>>>, typename E2 = std::enable_if_t<details::is_constructible_v<unwrapped_response_t, Args...>>> | |
| wrapped_response_t (Req &&message_, Args &&...args) | |
| successful-response constructor. | |
| request_id_t | request_id () const noexcept | 
| returns request id of the original request | |
| Public Attributes | |
| extended_error_ptr_t | ee | 
| pointer to extended error, used in the case of response failure | |
| req_message_ptr_t | req | 
| original request message, which contains request_id for request/response matching | |
| response_t | res | 
| user-supplied response payload | |
trackable templated response which holds user-supplied response payload.
In addition to user-supplied response payload, the class contains error_code and intrusive pointer to the original request message.
| 
 | inline | 
"forward-constructor"
The request message, error code are copied, while the response (possible intrusive pointer to the original request) is forwarded.
| 
 | inline | 
successful-response constructor.
The request message is copied, the error code is set to success, the response (possible intrusive pointer to the original request) constructed from the arguments.