12 #ifndef ASIO_DETAIL_WIN_IOCP_HANDLE_READ_OP_HPP    13 #define ASIO_DETAIL_WIN_IOCP_HANDLE_READ_OP_HPP    15 #if defined(_MSC_VER) && (_MSC_VER >= 1200)    17 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)    21 #if defined(ASIO_HAS_IOCP)    37 template <
typename MutableBufferSequence, 
typename Handler>
    38 class win_iocp_handle_read_op : 
public operation    43   win_iocp_handle_read_op(
    44       const MutableBufferSequence& 
buffers, Handler& handler)
    45     : 
operation(&win_iocp_handle_read_op::do_complete),
    53       std::size_t bytes_transferred)
    58     win_iocp_handle_read_op* o(static_cast<win_iocp_handle_read_op*>(base));
    59     ptr p = { asio::detail::addressof(o->handler_), o, o };
    63 #if defined(ASIO_ENABLE_BUFFER_DEBUGGING)    68           MutableBufferSequence>::validate(o->buffers_);
    70 #endif // defined(ASIO_ENABLE_BUFFER_DEBUGGING)    73     if (ec.value() == ERROR_HANDLE_EOF)
    82     detail::binder2<Handler, asio::error_code, std::size_t>
    83       handler(o->handler_, ec, bytes_transferred);
    84     p.h = asio::detail::addressof(handler.handler_);
    98   MutableBufferSequence buffers_;
   107 #endif // defined(ASIO_HAS_IOCP)   109 #endif // ASIO_DETAIL_WIN_IOCP_HANDLE_READ_OP_HPP 
#define ASIO_HANDLER_INVOCATION_END
 
asio::basic_streambuf< Allocator > & b
 
null_fenced_block fenced_block
 
class task_io_service io_service_impl
 
void invoke(Function &function, Context &context)
 
const MutableBufferSequence & buffers
 
Holds a buffer that can be modified. 
 
#define ASIO_HANDLER_INVOCATION_BEGIN(args)
 
Class to represent an error code value. 
 
task_io_service_operation operation
 
#define ASIO_DEFINE_HANDLER_PTR(op)
 
#define ASIO_HANDLER_COMPLETION(args)
 
#define ASIO_MOVE_CAST(type)