id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 9000,asio::buffered_stream and family missing rvalue-move support,vinnie.falco@…,chris_kohlhoff,"The classes '''asio::buffered_read_stream''' and '''asio::buffered_write_stream''' are missing support for rvalue-move for the handler arguments. I can't say I'm truly an expert but for example, I believe that the function definition for '''buffered_read_stream::async_read_some''' should look like this: {{{ template void async_read_some(const MutableBufferSequence& buffers, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) { if (boost::asio::buffer_size(buffers) == 0) { get_io_service().post(detail::bind_handler( BOOST_ASIO_MOVE_CAST(ReadHandler)(handler), boost::system::error_code(), 0)); } else if (storage_.empty()) { async_fill(read_some_handler( get_io_service(), storage_, buffers, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))); } else { std::size_t length = copy(buffers); get_io_service().post(detail::bind_handler( BOOST_ASIO_MOVE_CAST(ReadHandler)(handler), boost::system::error_code(), length)); } } }}} Note that classes like '''asio::basic_stream_socket''' all use '''BOOST_ASIO_MOVE_ARG''' and '''BOOST_ASIO_MOVE_CAST''' for their treatment of handlers. If I am incorrect please advise me so I can correct my own code because this is the model I am following. ",Feature Requests,closed,To Be Determined,asio,Boost 1.54.0,Optimization,fixed,rvalue references,