// impl/read.hpp
// ~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
BOOST_ASIO_MOVE_ARG(DynamicBuffer) buffers,
CompletionCondition completion_condition, boost::system::error_code& ec,
typename enable_if<
- is_dynamic_buffer<DynamicBuffer>::value
+ is_dynamic_buffer<typename decay<DynamicBuffer>::type>::value
>::type*)
{
typename decay<DynamicBuffer>::type b(
inline std::size_t read(SyncReadStream& s,
BOOST_ASIO_MOVE_ARG(DynamicBuffer) buffers,
typename enable_if<
- is_dynamic_buffer<DynamicBuffer>::value
+ is_dynamic_buffer<typename decay<DynamicBuffer>::type>::value
>::type*)
{
boost::system::error_code ec;
BOOST_ASIO_MOVE_ARG(DynamicBuffer) buffers,
boost::system::error_code& ec,
typename enable_if<
- is_dynamic_buffer<DynamicBuffer>::value
+ is_dynamic_buffer<typename decay<DynamicBuffer>::type>::value
>::type*)
{
return read(s, BOOST_ASIO_MOVE_CAST(DynamicBuffer)(buffers),
BOOST_ASIO_MOVE_ARG(DynamicBuffer) buffers,
CompletionCondition completion_condition,
typename enable_if<
- is_dynamic_buffer<DynamicBuffer>::value
+ is_dynamic_buffer<typename decay<DynamicBuffer>::type>::value
>::type*)
{
boost::system::error_code ec;
BOOST_ASIO_MOVE_ARG(DynamicBuffer) buffers,
BOOST_ASIO_MOVE_ARG(ReadHandler) handler,
typename enable_if<
- is_dynamic_buffer<DynamicBuffer>::value
+ is_dynamic_buffer<typename decay<DynamicBuffer>::type>::value
>::type*)
{
return async_read(s,
CompletionCondition completion_condition,
BOOST_ASIO_MOVE_ARG(ReadHandler) handler,
typename enable_if<
- is_dynamic_buffer<DynamicBuffer>::value
+ is_dynamic_buffer<typename decay<DynamicBuffer>::type>::value
>::type*)
{
// If you get an error on the following line it means that your handler does