11 #ifndef ASIO_DETAIL_DESCRIPTOR_READ_OP_HPP    12 #define ASIO_DETAIL_DESCRIPTOR_READ_OP_HPP    14 #if defined(_MSC_VER) && (_MSC_VER >= 1200)    16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)    20 #if !defined(ASIO_WINDOWS) && !defined(__CYGWIN__)    34 template <
typename MutableBufferSequence>
    39       const MutableBufferSequence& 
buffers, func_type complete_func)
    41       descriptor_(descriptor),
    51         MutableBufferSequence> bufs(o->buffers_);
    59   MutableBufferSequence buffers_;
    62 template <
typename MutableBufferSequence, 
typename Handler>
    70       const MutableBufferSequence& 
buffers, Handler& handler)
    83     ptr p = { asio::detail::addressof(o->handler_), o, o };
    94       handler(o->handler_, o->ec_, o->bytes_transferred_);
    95     p.h = asio::detail::addressof(handler.
handler_);
   117 #endif // !defined(ASIO_WINDOWS) && !defined(__CYGWIN__)   119 #endif // ASIO_DETAIL_DESCRIPTOR_READ_OP_HPP 
#define ASIO_HANDLER_INVOCATION_END
descriptor_read_op_base(int descriptor, const MutableBufferSequence &buffers, func_type complete_func)
static void do_complete(io_service_impl *owner, operation *base, const asio::error_code &, std::size_t)
ASIO_DECL bool non_blocking_read(int d, buf *bufs, std::size_t count, asio::error_code &ec, std::size_t &bytes_transferred)
asio::basic_streambuf< Allocator > & b
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)
descriptor_read_op(int descriptor, const MutableBufferSequence &buffers, Handler &handler)
Class to represent an error code value. 
task_io_service_operation operation
static bool do_perform(reactor_op *base)
std::size_t bytes_transferred_
#define ASIO_DEFINE_HANDLER_PTR(op)
#define ASIO_HANDLER_COMPLETION(args)
#define ASIO_MOVE_CAST(type)