Asio Extensions
Additional functionality built on top of (Boost.)Asio
|
Base class for composed operations. More...
#include <asioext/composed_operation.hpp>
Public Member Functions | |
composed_operation (Handler &&handler) | |
Public Attributes | |
Handler | handler_ |
Base class for composed operations.
This class template is intended to be used as a base class for custom composed operation types that wrap a user-provided handler. As such, it expects child classes to implement operator()
.
It wraps the given handler object and provides overloads for asio's hooks that forward to the real handler's hooks (if implemented).
For a detailed description of composed operations
, see [async.reqmts.async.composed] inside the Networking TS.
Implemented hooks:
This class does not provide support for asio::associated_allocator<>
and asio::associated_executor<>
(Asio 1.11.0+). The user is required to manually specialize these templates in the asio namespace.
Example specializations:
operator()
is executed by the user-specified executor / invocation hook (see above). It is not suitable for operations that are to be executed in a service-provided context (e.g. a private io_service).
|
inline |
Handler asioext::composed_operation< Handler >::handler_ |