10 #ifndef BOOST_BEAST_ASYNC_COMPLETION_HPP 11 #define BOOST_BEAST_ASYNC_COMPLETION_HPP 15 #include <boost/asio/async_result.hpp> 16 #include <boost/asio/handler_type.hpp> 17 #include <type_traits> 74 template<
class CompletionToken,
class Signature>
78 ! std::is_reference<CompletionToken>::value);
80 boost::asio::async_result<
typename 82 Signature>::type> impl_;
91 CompletionToken, Signature>::type;
95 typename boost::asio::async_result<
150 template<
class CompletionToken,
class Signature>
158 typename std::decay<CompletionToken>::type,
173 : completion_handler(static_cast<typename
std::conditional<
176 , result(completion_handler)
181 "CompletionToken requirements not met: signature mismatch");
185 typename std::conditional<std::is_same<
188 completion_handler_type
193 CompletionToken>::type, Signature>
result;
196 template<
class CompletionToken,
typename Signature>
198 typename std::decay<CompletionToken>::type,
201 template<
class CompletionToken,
typename Signature>
203 typename std::decay<CompletionToken>::type,
Definition: async_result.hpp:20
async_result(completion_handler_type &h)
Definition: async_result.hpp:106
typename async_result< typename std::decay< CompletionToken >::type, Signature >::completion_handler_type completion_handler_type
Definition: async_result.hpp:159
async_result< typename std::decay< CompletionToken >::type, Signature > result
The return value of the asynchronous initiation function.
Definition: async_result.hpp:193
typename beast::async_result< typename std::decay< CompletionToken >::type, Signature >::completion_handler_type handler_type
Definition: async_result.hpp:199
async_completion(CompletionToken &token)
Definition: async_result.hpp:172
std::integral_constant< bool, std::is_copy_constructible< typename std::decay< T >::type >::value &&detail::is_invocable< T, Signature >::value > is_completion_handler
Definition: type_traits.hpp:203
typename boost::asio::async_result< completion_handler_type >::type return_type
The return type of the initiating function.
Definition: async_result.hpp:96
typename boost::asio::handler_type< CompletionToken, Signature >::type completion_handler_type
The concrete completion handler type for the specific signature.
Definition: async_result.hpp:91
Definition: async_result.hpp:75
typename beast::async_result< typename std::decay< CompletionToken >::type, Signature >::return_type async_return_type
Definition: async_result.hpp:204
Definition: async_result.hpp:151
std::conditional< std::is_same< CompletionToken, completion_handler_type >::value, completion_handler_type &, completion_handler_type >::type completion_handler
The final completion handler, callable with the specified signature.
Definition: async_result.hpp:189