summaryrefslogtreecommitdiff
path: root/boost/asio/raw_socket_service.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/asio/raw_socket_service.hpp')
-rw-r--r--boost/asio/raw_socket_service.hpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/boost/asio/raw_socket_service.hpp b/boost/asio/raw_socket_service.hpp
index 37040956be..06880d5abb 100644
--- a/boost/asio/raw_socket_service.hpp
+++ b/boost/asio/raw_socket_service.hpp
@@ -2,7 +2,7 @@
// raw_socket_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2017 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)
@@ -118,17 +118,21 @@ public:
service_impl_.move_assign(impl, other_service.service_impl_, other_impl);
}
+ // All socket services have access to each other's implementations.
+ template <typename Protocol1> friend class raw_socket_service;
+
/// Move-construct a new raw socket implementation from another protocol
/// type.
template <typename Protocol1>
void converting_move_construct(implementation_type& impl,
+ raw_socket_service<Protocol1>& other_service,
typename raw_socket_service<
Protocol1>::implementation_type& other_impl,
typename enable_if<is_convertible<
Protocol1, Protocol>::value>::type* = 0)
{
service_impl_.template converting_move_construct<Protocol1>(
- impl, other_impl);
+ impl, other_service.service_impl_, other_impl);
}
#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)