Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r84529 - in trunk: boost/asio libs/asio/doc libs/asio/doc/overview libs/asio/doc/requirements
From: chris_at_[hidden]
Date: 2013-05-27 08:17:23


Author: chris_kohlhoff
Date: 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
New Revision: 84529
URL: http://svn.boost.org/trac/boost/changeset/84529

Log:
Add documentation for new features.
Added:
   trunk/libs/asio/doc/overview/coroutine.qbk (contents, props changed)
   trunk/libs/asio/doc/overview/other_protocols.qbk (contents, props changed)
   trunk/libs/asio/doc/overview/spawn.qbk (contents, props changed)
Text files modified:
   trunk/boost/asio/handler_type.hpp | 4
   trunk/boost/asio/spawn.hpp | 137 +
   trunk/boost/asio/use_future.hpp | 24
   trunk/libs/asio/doc/overview.qbk | 10
   trunk/libs/asio/doc/overview/cpp2011.qbk | 35
   trunk/libs/asio/doc/overview/protocols.qbk | 6
   trunk/libs/asio/doc/quickref.xml | 34
   trunk/libs/asio/doc/reference.qbk | 3280 +++++++++++++++++++--------------------
   trunk/libs/asio/doc/reference.xsl | 15
   trunk/libs/asio/doc/requirements/asynchronous_operations.qbk | 41
   10 files changed, 1908 insertions(+), 1678 deletions(-)

Modified: trunk/boost/asio/handler_type.hpp
==============================================================================
--- trunk/boost/asio/handler_type.hpp (original)
+++ trunk/boost/asio/handler_type.hpp 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -38,6 +38,8 @@
   typedef Handler type;
 };
 
+#if !defined(GENERATING_DOCUMENTATION)
+
 template <typename Handler, typename Signature>
 struct handler_type<const Handler, Signature>
   : handler_type<Handler, Signature> {};
@@ -99,6 +101,8 @@
 struct handler_type<ReturnType(Arg1, Arg2, Arg3, Arg4, Arg5), Signature>
   : handler_type<ReturnType(*)(Arg1, Arg2, Arg3, Arg4, Arg5), Signature> {};
 
+#endif // !defined(GENERATING_DOCUMENTATION)
+
 } // namespace asio
 } // namespace boost
 

Modified: trunk/boost/asio/spawn.hpp
==============================================================================
--- trunk/boost/asio/spawn.hpp (original)
+++ trunk/boost/asio/spawn.hpp 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -27,10 +27,34 @@
 namespace boost {
 namespace asio {
 
+/// Context object the represents the currently executing coroutine.
+/**
+ * The basic_yield_context class is used to represent the currently executing
+ * stackful coroutine. A basic_yield_context may be passed as a handler to an
+ * asynchronous operation. For example:
+ *
+ * @code template <typename Handler>
+ * void my_coroutine(basic_yield_context<Handler> yield)
+ * {
+ * ...
+ * std::size_t n = my_socket.async_read_some(buffer, yield);
+ * ...
+ * } @endcode
+ *
+ * The initiating function (async_read_some in the above example) suspends the
+ * current coroutine. The coroutine is resumed when the asynchronous operation
+ * completes, and the result of the operation is returned.
+ */
 template <typename Handler>
 class basic_yield_context
 {
 public:
+ /// Construct a yield context to represent the specified coroutine.
+ /**
+ * Most applications do not need to use this constructor. Instead, the
+ * spawn() function passes a yield context as an argument to the coroutine
+ * function.
+ */
   basic_yield_context(
       const detail::weak_ptr<boost::coroutines::coroutine<void()> >& coro,
       boost::coroutines::coroutine<void()>::caller_type& ca, Handler& handler)
@@ -41,6 +65,25 @@
   {
   }
 
+ /// Return a yield context that sets the specified error_code.
+ /**
+ * By default, when a yield context is used with an asynchronous operation, a
+ * non-success error_code is converted to system_error and thrown. This
+ * operator may be used to specify an error_code object that should instead be
+ * set with the asynchronous operation's result. For example:
+ *
+ * @code template <typename Handler>
+ * void my_coroutine(basic_yield_context<Handler> yield)
+ * {
+ * ...
+ * std::size_t n = my_socket.async_read_some(buffer, yield[ec]);
+ * if (ec)
+ * {
+ * // An error occurred.
+ * }
+ * ...
+ * } @endcode
+ */
   basic_yield_context operator[](boost::system::error_code& ec)
   {
     basic_yield_context tmp(*this);
@@ -58,6 +101,7 @@
 };
 
 #if defined(GENERATING_DOCUMENTATION)
+/// Context object the represents the currently executing coroutine.
 typedef basic_yield_context<unspecified> yield_context;
 #else // defined(GENERATING_DOCUMENTATION)
 typedef basic_yield_context<
@@ -66,30 +110,123 @@
     detail::is_continuation_if_running> > yield_context;
 #endif // defined(GENERATING_DOCUMENTATION)
 
+/**
+ * @defgroup spawn boost::asio::spawn
+ *
+ * @brief Start a new stackful coroutine.
+ *
+ * The spawn() function is a high-level wrapper over the Boost.Coroutine
+ * library. This function enables programs to implement asynchronous logic in a
+ * synchronous manner, as illustrated by the following example:
+ *
+ * @code boost::asio::spawn(my_strand, do_echo);
+ *
+ * // ...
+ *
+ * void do_echo(boost::asio::yield_context yield)
+ * {
+ * try
+ * {
+ * char data[128];
+ * for (;;)
+ * {
+ * std::size_t length =
+ * my_socket.async_read_some(
+ * boost::asio::buffer(data), yield);
+ *
+ * boost::asio::async_write(my_socket,
+ * boost::asio::buffer(data, length), yield);
+ * }
+ * }
+ * catch (std::exception& e)
+ * {
+ * // ...
+ * }
+ * } @endcode
+ */
+/*@{*/
+
+/// Start a new stackful coroutine, calling the specified handler when it
+/// completes.
+/**
+ * This function is used to launch a new coroutine.
+ *
+ * @param handler A handler to be called when the coroutine exits. More
+ * importantly, the handler provides an execution context (via the the handler
+ * invocation hook) for the coroutine. The handler must have the signature:
+ * @code void handler(); @endcode
+ *
+ * @param function The coroutine function. The function must have the signature:
+ * @code void function(basic_yield_context<Handler> yield); @endcode
+ *
+ * @param attributes Boost.Coroutine attributes used to customise the coroutine.
+ */
 template <typename Handler, typename Function>
 void spawn(BOOST_ASIO_MOVE_ARG(Handler) handler,
     BOOST_ASIO_MOVE_ARG(Function) function,
     const boost::coroutines::attributes& attributes
       = boost::coroutines::attributes());
 
+/// Start a new stackful coroutine, inheriting the execution context of another.
+/**
+ * This function is used to launch a new coroutine.
+ *
+ * @param ctx Identifies the current coroutine as a parent of the new
+ * coroutine. This specifies that the new coroutine should inherit the
+ * execution context of the parent. For example, if the parent coroutine is
+ * executing in a particular strand, then the new coroutine will execute in the
+ * same strand.
+ *
+ * @param function The coroutine function. The function must have the signature:
+ * @code void function(basic_yield_context<Handler> yield); @endcode
+ *
+ * @param attributes Boost.Coroutine attributes used to customise the coroutine.
+ */
 template <typename Handler, typename Function>
 void spawn(basic_yield_context<Handler> ctx,
     BOOST_ASIO_MOVE_ARG(Function) function,
     const boost::coroutines::attributes& attributes
       = boost::coroutines::attributes());
 
+/// Start a new stackful coroutine that executes in the contex of a strand.
+/**
+ * This function is used to launch a new coroutine.
+ *
+ * @param strand Identifies a strand. By starting multiple coroutines on the
+ * same strand, the implementation ensures that none of those coroutines can
+ * execute simultaneously.
+ *
+ * @param function The coroutine function. The function must have the signature:
+ * @code void function(yield_context yield); @endcode
+ *
+ * @param attributes Boost.Coroutine attributes used to customise the coroutine.
+ */
 template <typename Function>
 void spawn(boost::asio::io_service::strand strand,
     BOOST_ASIO_MOVE_ARG(Function) function,
     const boost::coroutines::attributes& attributes
       = boost::coroutines::attributes());
 
+/// Start a new stackful coroutine that executes on a given io_service.
+/**
+ * This function is used to launch a new coroutine.
+ *
+ * @param io_service Identifies the io_service that will run the coroutine. The
+ * new coroutine is implicitly given its own strand within this io_service.
+ *
+ * @param function The coroutine function. The function must have the signature:
+ * @code void function(yield_context yield); @endcode
+ *
+ * @param attributes Boost.Coroutine attributes used to customise the coroutine.
+ */
 template <typename Function>
 void spawn(boost::asio::io_service& io_service,
     BOOST_ASIO_MOVE_ARG(Function) function,
     const boost::coroutines::attributes& attributes
       = boost::coroutines::attributes());
 
+/*@}*/
+
 } // namespace asio
 } // namespace boost
 

Modified: trunk/boost/asio/use_future.hpp
==============================================================================
--- trunk/boost/asio/use_future.hpp (original)
+++ trunk/boost/asio/use_future.hpp 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -23,27 +23,46 @@
 namespace boost {
 namespace asio {
 
+/// Class used to specify that an asynchronous operation should return a future.
+/**
+ * The use_future_t class is used to indicate that an asynchronous operation
+ * should return a std::future object. A use_future_t object may be passed as a
+ * handler to an asynchronous operation, typically using the special value @c
+ * boost::asio::use_future. For example:
+ *
+ * @code std::future<std::size_t> my_future
+ * = my_socket.async_read_some(my_buffer, boost::asio::use_future); @endcode
+ *
+ * The initiating function (async_read_some in the above example) returns a
+ * future that will receive the result of the operation. If the operation
+ * completes with an error_code indicating failure, it is converted into a
+ * system_error and passed back to the caller via the future.
+ */
 template <typename Allocator = std::allocator<void> >
 class use_future_t
 {
 public:
   typedef Allocator allocator_type;
 
+ /// Construct using default-constructed allocator.
   constexpr use_future_t()
   {
   }
 
+ /// Construct using specified allocator.
   explicit use_future_t(const Allocator& allocator)
     : allocator_(allocator)
   {
   }
 
+ /// Specify an alternate allocator.
   template <typename OtherAllocator>
   use_future_t<OtherAllocator> operator[](const OtherAllocator& allocator) const
   {
     return use_future_t<OtherAllocator>(allocator);
   }
 
+ /// Obtain allocator.
   allocator_type get_allocator() const
   {
     return allocator_;
@@ -53,7 +72,10 @@
   Allocator allocator_;
 };
 
-// A special value, similar to std::nothrow.
+/// A special value, similar to std::nothrow.
+/**
+ * See the documentation for boost::asio::use_future_t for a usage example.
+ */
 constexpr use_future_t<> use_future;
 
 } // namespace asio

Modified: trunk/libs/asio/doc/overview.qbk
==============================================================================
--- trunk/libs/asio/doc/overview.qbk (original)
+++ trunk/libs/asio/doc/overview.qbk 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -19,8 +19,11 @@
   * [link boost_asio.overview.core.line_based Line-Based Operations]
   * [link boost_asio.overview.core.allocation Custom Memory Allocation]
   * [link boost_asio.overview.core.handler_tracking Handler Tracking]
+ * [link boost_asio.overview.core.coroutine Stackless Coroutines]
+ * [link boost_asio.overview.core.spawn Stackful Coroutines]
 * [link boost_asio.overview.networking Networking]
   * [link boost_asio.overview.networking.protocols TCP, UDP and ICMP]
+ * [link boost_asio.overview.networking.other_protocols Support for Other Protocols]
   * [link boost_asio.overview.networking.iostreams Socket Iostreams]
   * [link boost_asio.overview.networking.bsd_sockets The BSD Socket API and Boost.Asio]
 * [link boost_asio.overview.timers Timers]
@@ -43,6 +46,7 @@
   * [link boost_asio.overview.cpp2011.atomic Atomics]
   * [link boost_asio.overview.cpp2011.shared_ptr Shared Pointers]
   * [link boost_asio.overview.cpp2011.chrono Chrono]
+ * [link boost_asio.overview.cpp2011.futures Futures]
 * [link boost_asio.overview.implementation Platform-Specific Implementation Notes]
 
 [include overview/rationale.qbk]
@@ -59,6 +63,8 @@
 * [link boost_asio.overview.core.line_based Line-Based Operations]
 * [link boost_asio.overview.core.allocation Custom Memory Allocation]
 * [link boost_asio.overview.core.handler_tracking Handler Tracking]
+* [link boost_asio.overview.core.coroutine Stackless Coroutines]
+* [link boost_asio.overview.core.spawn Stackful Coroutines]
 
 [include overview/basics.qbk]
 [include overview/async.qbk]
@@ -70,16 +76,20 @@
 [include overview/line_based.qbk]
 [include overview/allocation.qbk]
 [include overview/handler_tracking.qbk]
+[include overview/coroutine.qbk]
+[include overview/spawn.qbk]
 
 [endsect]
 
 [section:networking Networking]
 
 * [link boost_asio.overview.networking.protocols TCP, UDP and ICMP]
+* [link boost_asio.overview.networking.other_protocols Support for Other Protocols]
 * [link boost_asio.overview.networking.iostreams Socket Iostreams]
 * [link boost_asio.overview.networking.bsd_sockets The BSD Socket API and Boost.Asio]
 
 [include overview/protocols.qbk]
+[include overview/other_protocols.qbk]
 [include overview/iostreams.qbk]
 [include overview/bsd_sockets.qbk]
 

Added: trunk/libs/asio/doc/overview/coroutine.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/asio/doc/overview/coroutine.qbk 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -0,0 +1,51 @@
+[/
+ / Copyright (c) 2003-2013 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)
+ /]
+
+[section:coroutine Stackless Coroutines]
+
+The [link boost_asio.reference.coroutine `coroutine`] class provides support for
+stackless coroutines. Stackless coroutines enable programs to implement
+asynchronous logic in a synchronous manner, with minimal overhead, as shown in
+the following example:
+
+ struct session : boost::asio::coroutine
+ {
+ boost::shared_ptr<tcp::socket> socket_;
+ boost::shared_ptr<std::vector<char> > buffer_;
+
+ session(boost::shared_ptr<tcp::socket> socket)
+ : socket_(socket),
+ buffer_(new std::vector<char>(1024))
+ {
+ }
+
+ void operator()(boost::system::error_code ec = boost::system::error_code(), std::size_t n = 0)
+ {
+ if (!ec) reenter (this)
+ {
+ for (;;)
+ {
+ yield socket_->async_read_some(boost::asio::buffer(*buffer_), *this);
+ yield boost::asio::async_write(*socket_, boost::asio::buffer(*buffer_, n), *this);
+ }
+ }
+ }
+ };
+
+The `coroutine` class is used in conjunction with the pseudo-keywords
+`reenter`, `yield` and `fork`. These are preprocessor macros, and are
+implemented in terms of a `switch` statement using a technique similar to
+Duff's Device. The [link boost_asio.reference.coroutine `coroutine`] class's
+documentation provides a complete description of these pseudo-keywords.
+
+[heading See Also]
+
+[link boost_asio.reference.coroutine coroutine],
+[link boost_asio.examples.cpp03_examples.http_server_4 HTTP Server 4 example],
+[link boost_asio.overview.core.spawn Stackful Coroutines].
+
+[endsect]

Modified: trunk/libs/asio/doc/overview/cpp2011.qbk
==============================================================================
--- trunk/libs/asio/doc/overview/cpp2011.qbk (original)
+++ trunk/libs/asio/doc/overview/cpp2011.qbk 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -22,6 +22,8 @@
 
 [link boost_asio.overview.cpp2011.chrono Chrono]
 
+[link boost_asio.overview.cpp2011.futures Futures]
+
 
 [section:move_objects Movable I/O Objects]
 
@@ -216,4 +218,37 @@
 
 [endsect]
 
+[section:futures Futures]
+
+The `boost::asio::use_future` special value provides first-class support for returning a
+C++11 `std::future` from an asynchronous operation's initiating function.
+
+To use `boost::asio::use_future`, pass it to an asynchronous operation instead of
+a normal completion handler. For example:
+
+ std::future<std::size_t> length =
+ my_socket.async_read_some(my_buffer, boost::asio::use_future);
+
+Where a handler signature has the form:
+
+ void handler(boost::system::error_code ec, result_type result);
+
+the initiating function returns a `std::future` templated on `result_type`.
+In the above example, this is `std::size_t`. If the asynchronous operation
+fails, the `error_code` is converted into a `system_error` exception and
+passed back to the caller through the future.
+
+Where a handler signature has the form:
+
+ void handler(boost::system::error_code ec);
+
+the initiating function returns `std::future<void>`. As above, an error
+is passed back in the future as a `system_error` exception.
+
+[link boost_asio.reference.use_future use_future],
+[link boost_asio.reference.use_future_t use_future_t],
+[link boost_asio.examples.cpp11_examples.futures Futures example (C++11)].
+
+[endsect]
+
 [endsect]

Added: trunk/libs/asio/doc/overview/other_protocols.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/asio/doc/overview/other_protocols.qbk 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -0,0 +1,94 @@
+[/
+ / Copyright (c) 2003-2013 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)
+ /]
+
+[section:other_protocols Support for Other Protocols]
+
+Support for other socket protocols (such as Bluetooth or IRCOMM sockets) can be
+added by implementing the [link boost_asio.reference.Protocol protocol type
+requirements]. However, in many cases these protocols may also be used with
+Boost.Asio's generic protocol support. For this, Boost.Asio provides the following four
+classes:
+
+* [link boost_asio.reference.generic__datagram_protocol `generic::datagram_protocol`]
+* [link boost_asio.reference.generic__raw_protocol `generic::raw_protocol`]
+* [link boost_asio.reference.generic__seq_packet_protocol `generic::seq_packet_protocol`]
+* [link boost_asio.reference.generic__stream_protocol `generic::stream_protocol`]
+
+These classes implement the [link boost_asio.reference.Protocol protocol type
+requirements], but allow the user to specify the address family (e.g. `AF_INET`)
+and protocol type (e.g. `IPPROTO_TCP`) at runtime. For example:
+
+ boost::asio::generic::stream_protocol::socket my_socket(my_io_service);
+ my_socket.open(boost::asio::generic::stream_protocol(AF_INET, IPPROTO_TCP));
+ ...
+
+An endpoint class template, [link boost_asio.reference.generic__basic_endpoint
+`boost::asio::generic::basic_endpoint`], is included to support these protocol
+classes. This endpoint can hold any other endpoint type, provided its native
+representation fits into a `sockaddr_storage` object. This class will also
+convert from other types that implement the [link boost_asio.reference.Endpoint
+endpoint] type requirements:
+
+ boost::asio::ip::tcp::endpoint my_endpoint1 = ...;
+ boost::asio::generic::stream_protocol::endpoint my_endpoint2(my_endpoint1);
+
+The conversion is implicit, so as to support the following use cases:
+
+ boost::asio::generic::stream_protocol::socket my_socket(my_io_service);
+ boost::asio::ip::tcp::endpoint my_endpoint = ...;
+ my_socket.connect(my_endpoint);
+
+[heading C++11 Move Construction]
+
+When using C++11, it is possible to perform move construction from a socket (or
+acceptor) object to convert to the more generic protocol's socket (or acceptor)
+type. If the protocol conversion is valid:
+
+ Protocol1 p1 = ...;
+ Protocol2 p2(p1);
+
+then the corresponding socket conversion is allowed:
+
+ Protocol1::socket my_socket1(my_io_service);
+ ...
+ Protocol2::socket my_socket2(std::move(my_socket1));
+
+For example, one possible conversion is from a TCP socket to a generic
+stream-oriented socket:
+
+ boost::asio::ip::tcp::socket my_socket1(my_io_service);
+ ...
+ boost::asio::generic::stream_protocol::socket my_socket2(std::move(my_socket1));
+
+These conversions are also available for move-assignment.
+
+These conversions are not limited to the above generic protocol classes.
+User-defined protocols may take advantage of this feature by similarly ensuring
+the conversion from `Protocol1` to `Protocol2` is valid, as above.
+
+[heading Accepting Generic Sockets]
+
+As a convenience, a socket acceptor's `accept()` and `async_accept()` functions
+can directly accept into a different protocol's socket type, provided the
+corresponding protocol conversion is valid. For example, the following is
+supported because the protocol `boost::asio::ip::tcp` is convertible to
+`boost::asio::generic::stream_protocol`:
+
+ boost::asio::ip::tcp::acceptor my_acceptor(my_io_service);
+ ...
+ boost::asio::generic::stream_protocol::socket my_socket(my_io_service);
+ my_acceptor.accept(my_socket);
+
+[heading See Also]
+
+[link boost_asio.reference.generic__datagram_protocol `generic::datagram_protocol`],
+[link boost_asio.reference.generic__raw_protocol `generic::raw_protocol`],
+[link boost_asio.reference.generic__seq_packet_protocol `generic::seq_packet_protocol`],
+[link boost_asio.reference.generic__stream_protocol `generic::stream_protocol`],
+[link boost_asio.reference.Protocol protocol type requirements].
+
+[endsect]

Modified: trunk/libs/asio/doc/overview/protocols.qbk
==============================================================================
--- trunk/libs/asio/doc/overview/protocols.qbk (original)
+++ trunk/libs/asio/doc/overview/protocols.qbk 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -138,12 +138,6 @@
 boost_asio.reference.basic_raw_socket.async_send_to async_send_to()] member
 functions.
 
-[heading Other Protocols]
-
-Support for other socket protocols (such as Bluetooth or IRCOMM sockets) can be
-added by implementing the [link boost_asio.reference.Protocol Protocol] type
-requirements.
-
 [heading See Also]
 
 [link boost_asio.reference.ip__tcp ip::tcp],

Added: trunk/libs/asio/doc/overview/spawn.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/asio/doc/overview/spawn.qbk 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -0,0 +1,102 @@
+[/
+ / Copyright (c) 2003-2013 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)
+ /]
+
+[section:spawn Stackful Coroutines]
+
+The [link boost_asio.reference.spawn `spawn()`] function is a high-level wrapper for
+running stackful coroutines. It is based on the Boost.Coroutine library. The
+`spawn()` function enables programs to implement asynchronous logic in a
+synchronous manner, as shown in the following example:
+
+ boost::asio::spawn(my_strand, do_echo);
+
+ // ...
+
+ void do_echo(boost::asio::yield_context yield)
+ {
+ try
+ {
+ char data[128];
+ for (;;)
+ {
+ std::size_t length =
+ my_socket.async_read_some(
+ boost::asio::buffer(data), yield);
+
+ boost::asio::async_write(my_socket,
+ boost::asio::buffer(data, length), yield);
+ }
+ }
+ catch (std::exception& e)
+ {
+ // ...
+ }
+ }
+
+The first argument to `spawn()` may be a
+[link boost_asio.reference.io_service__strand `strand`],
+[link boost_asio.reference.io_service `io_service`], or
+[link boost_asio.reference.CompletionHandler completion handler].
+This argument determines the context in which the coroutine is permitted to
+execute. For example, a server's per-client object may consist of multiple
+coroutines; they should all run on the same `strand` so that no explicit
+synchronisation is required.
+
+The second argument is a function object with signature:
+
+ void coroutine(boost::asio::yield_context yield);
+
+that specifies the code to be run as part of the coroutine. The parameter
+`yield` may be passed to an asynchronous operation in place of the completion
+handler, as in:
+
+ std::size_t length =
+ my_socket.async_read_some(
+ boost::asio::buffer(data), yield);
+
+This starts the asynchronous operation and suspends the coroutine. The
+coroutine will be resumed automatically when the asynchronous operation
+completes.
+
+Where an asynchronous operation's handler signature has the form:
+
+ void handler(boost::system::error_code ec, result_type result);
+
+the initiating function returns the result_type. In the `async_read_some`
+example above, this is `size_t`. If the asynchronous operation fails, the
+`error_code` is converted into a `system_error` exception and thrown.
+
+Where a handler signature has the form:
+
+ void handler(boost::system::error_code ec);
+
+the initiating function returns `void`. As above, an error is passed back to
+the coroutine as a `system_error` exception.
+
+To collect the `error_code` from an operation, rather than have it throw an
+exception, associate the output variable with the `yield_context` as follows:
+
+ boost::system::error_code ec;
+ std::size_t length =
+ my_socket.async_read_some(
+ boost::asio::buffer(data), yield[ec]);
+
+[*Note:] if `spawn()` is used with a custom completion handler of type
+`Handler`, the function object signature is actually:
+
+ void coroutine(boost::asio::basic_yield_context<Handler> yield);
+
+[heading See Also]
+
+[link boost_asio.reference.spawn spawn],
+[link boost_asio.reference.yield_context yield_context],
+[link boost_asio.reference.basic_yield_context basic_yield_context],
+[link boost_asio.examples.cpp03_examples.spawn Spawn example (C++03)],
+[link boost_asio.examples.cpp11_examples.spawn Spawn example (C++11)],
+[link boost_asio.overview.core.coroutine Stackless Coroutines].
+
+[endsect]

Modified: trunk/libs/asio/doc/quickref.xml
==============================================================================
--- trunk/libs/asio/doc/quickref.xml (original)
+++ trunk/libs/asio/doc/quickref.xml 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -28,6 +28,7 @@
           <simplelist type="vert" columns="1">
             <member><link linkend="boost_asio.reference.const_buffer">const_buffer</link></member>
             <member><link linkend="boost_asio.reference.const_buffers_1">const_buffers_1</link></member>
+ <member><link linkend="boost_asio.reference.coroutine">coroutine</link></member>
             <member><link linkend="boost_asio.reference.invalid_service_owner">invalid_service_owner</link></member>
             <member><link linkend="boost_asio.reference.io_service">io_service</link></member>
             <member><link linkend="boost_asio.reference.io_service__id">io_service::id</link></member>
@@ -39,11 +40,14 @@
             <member><link linkend="boost_asio.reference.null_buffers">null_buffers</link></member>
             <member><link linkend="boost_asio.reference.service_already_exists">service_already_exists</link></member>
             <member><link linkend="boost_asio.reference.streambuf">streambuf</link></member>
+ <member><link linkend="boost_asio.reference.use_future_t">use_future_t</link></member>
+ <member><link linkend="boost_asio.reference.yield_context">yield_context</link></member>
           </simplelist>
           <bridgehead renderas="sect3">Class Templates</bridgehead>
           <simplelist type="vert" columns="1">
             <member><link linkend="boost_asio.reference.basic_io_object">basic_io_object</link></member>
             <member><link linkend="boost_asio.reference.basic_streambuf">basic_streambuf</link></member>
+ <member><link linkend="boost_asio.reference.basic_yield_context">basic_yield_context</link></member>
             <member><link linkend="boost_asio.reference.buffered_read_stream">buffered_read_stream</link></member>
             <member><link linkend="boost_asio.reference.buffered_stream">buffered_stream</link></member>
             <member><link linkend="boost_asio.reference.buffered_write_stream">buffered_write_stream</link></member>
@@ -57,6 +61,7 @@
             <member><link linkend="boost_asio.reference.asio_handler_allocate">asio_handler_allocate</link></member>
             <member><link linkend="boost_asio.reference.asio_handler_deallocate">asio_handler_deallocate</link></member>
             <member><link linkend="boost_asio.reference.asio_handler_invoke">asio_handler_invoke</link></member>
+ <member><link linkend="boost_asio.reference.asio_handler_is_continuation">asio_handler_is_continuation</link></member>
             <member><link linkend="boost_asio.reference.async_read">async_read</link></member>
             <member><link linkend="boost_asio.reference.async_read_at">async_read_at</link></member>
             <member><link linkend="boost_asio.reference.async_read_until">async_read_until</link></member>
@@ -72,6 +77,7 @@
             <member><link linkend="boost_asio.reference.read">read</link></member>
             <member><link linkend="boost_asio.reference.read_at">read_at</link></member>
             <member><link linkend="boost_asio.reference.read_until">read_until</link></member>
+ <member><link linkend="boost_asio.reference.spawn">spawn</link></member>
             <member><link linkend="boost_asio.reference.transfer_all">transfer_all</link></member>
             <member><link linkend="boost_asio.reference.transfer_at_least">transfer_at_least</link></member>
             <member><link linkend="boost_asio.reference.transfer_exactly">transfer_exactly</link></member>
@@ -81,7 +87,11 @@
           </simplelist>
         </entry>
         <entry valign="top">
- <bridgehead renderas="sect3">Placeholders</bridgehead>
+ <bridgehead renderas="sect3">Special Values</bridgehead>
+ <simplelist type="vert" columns="1">
+ <member><link linkend="boost_asio.reference.use_future">use_future</link></member>
+ </simplelist>
+ <bridgehead renderas="sect3">Boost.Bind Placeholders</bridgehead>
           <simplelist type="vert" columns="1">
             <member><link linkend="boost_asio.reference.placeholders__bytes_transferred">placeholders::bytes_transferred</link></member>
             <member><link linkend="boost_asio.reference.placeholders__error">placeholders::error</link></member>
@@ -97,6 +107,8 @@
           </simplelist>
           <bridgehead renderas="sect3">Type Traits</bridgehead>
           <simplelist type="vert" columns="1">
+ <member><link linkend="boost_asio.reference.async_result">async_result</link></member>
+ <member><link linkend="boost_asio.reference.handler_type">handler_type</link></member>
             <member><link linkend="boost_asio.reference.is_match_condition">is_match_condition</link></member>
             <member><link linkend="boost_asio.reference.is_read_buffered">is_read_buffered</link></member>
             <member><link linkend="boost_asio.reference.is_write_buffered">is_write_buffered</link></member>
@@ -146,6 +158,19 @@
         <entry valign="top">
           <bridgehead renderas="sect3">Classes</bridgehead>
           <simplelist type="vert" columns="1">
+ <member><link linkend="boost_asio.reference.generic__datagram_protocol">generic::datagram_protocol</link></member>
+ <member><link linkend="boost_asio.reference.generic__datagram_protocol.endpoint">generic::datagram_protocol::endpoint</link></member>
+ <member><link linkend="boost_asio.reference.generic__datagram_protocol.socket">generic::datagram_protocol::socket</link></member>
+ <member><link linkend="boost_asio.reference.generic__raw_protocol">generic::raw_protocol</link></member>
+ <member><link linkend="boost_asio.reference.generic__raw_protocol.endpoint">generic::raw_protocol::endpoint</link></member>
+ <member><link linkend="boost_asio.reference.generic__raw_protocol.socket">generic::raw_protocol::socket</link></member>
+ <member><link linkend="boost_asio.reference.generic__seq_packet_protocol">generic::seq_packet_protocol</link></member>
+ <member><link linkend="boost_asio.reference.generic__seq_packet_protocol.endpoint">generic::seq_packet_protocol::endpoint</link></member>
+ <member><link linkend="boost_asio.reference.generic__seq_packet_protocol.socket">generic::seq_packet_protocol::socket</link></member>
+ <member><link linkend="boost_asio.reference.generic__stream_protocol">generic::stream_protocol</link></member>
+ <member><link linkend="boost_asio.reference.generic__stream_protocol.endpoint">generic::stream_protocol::endpoint</link></member>
+ <member><link linkend="boost_asio.reference.generic__stream_protocol.iostream">generic::stream_protocol::iostream</link></member>
+ <member><link linkend="boost_asio.reference.generic__stream_protocol.socket">generic::stream_protocol::socket</link></member>
             <member><link linkend="boost_asio.reference.ip__address">ip::address</link></member>
             <member><link linkend="boost_asio.reference.ip__address_v4">ip::address_v4</link></member>
             <member><link linkend="boost_asio.reference.ip__address_v6">ip::address_v6</link></member>
@@ -166,18 +191,17 @@
             <member><link linkend="boost_asio.reference.ip__udp.socket">ip::udp::socket</link></member>
             <member><link linkend="boost_asio.reference.socket_base">socket_base</link></member>
           </simplelist>
+ </entry>
+ <entry valign="top">
           <bridgehead renderas="sect3">Free Functions</bridgehead>
           <simplelist type="vert" columns="1">
             <member><link linkend="boost_asio.reference.async_connect">async_connect</link></member>
             <member><link linkend="boost_asio.reference.connect">connect</link></member>
             <member><link linkend="boost_asio.reference.ip__host_name">ip::host_name</link></member>
           </simplelist>
- </entry>
- <entry valign="top">
           <bridgehead renderas="sect3">Class Templates</bridgehead>
           <simplelist type="vert" columns="1">
             <member><link linkend="boost_asio.reference.basic_datagram_socket">basic_datagram_socket</link></member>
- <member><link linkend="boost_asio.reference.basic_deadline_timer">basic_deadline_timer</link></member>
             <member><link linkend="boost_asio.reference.basic_raw_socket">basic_raw_socket</link></member>
             <member><link linkend="boost_asio.reference.basic_seq_packet_socket">basic_seq_packet_socket</link></member>
             <member><link linkend="boost_asio.reference.basic_socket">basic_socket</link></member>
@@ -185,6 +209,7 @@
             <member><link linkend="boost_asio.reference.basic_socket_iostream">basic_socket_iostream</link></member>
             <member><link linkend="boost_asio.reference.basic_socket_streambuf">basic_socket_streambuf</link></member>
             <member><link linkend="boost_asio.reference.basic_stream_socket">basic_stream_socket</link></member>
+ <member><link linkend="boost_asio.reference.generic__basic_endpoint">generic::basic_endpoint</link></member>
             <member><link linkend="boost_asio.reference.ip__basic_endpoint">ip::basic_endpoint</link></member>
             <member><link linkend="boost_asio.reference.ip__basic_resolver">ip::basic_resolver</link></member>
             <member><link linkend="boost_asio.reference.ip__basic_resolver_entry">ip::basic_resolver_entry</link></member>
@@ -322,6 +347,7 @@
           </simplelist>
           <bridgehead renderas="sect3">Type Requirements</bridgehead>
           <simplelist type="vert" columns="1">
+ <member><link linkend="boost_asio.reference.BufferedHandshakeHandler">BufferedHandshakeHandler</link></member>
             <member><link linkend="boost_asio.reference.HandshakeHandler">HandshakeHandler</link></member>
             <member><link linkend="boost_asio.reference.ShutdownHandler">ShutdownHandler</link></member>
           </simplelist>

Modified: trunk/libs/asio/doc/reference.qbk
==============================================================================
--- trunk/libs/asio/doc/reference.qbk (original)
+++ trunk/libs/asio/doc/reference.qbk 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -112,9 +112,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/io_service.hpp]
+['Header: ][^boost/asio/io_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -168,9 +168,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/handler_alloc_hook.hpp]
+['Header: ][^boost/asio/handler_alloc_hook.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -198,9 +198,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/handler_alloc_hook.hpp]
+['Header: ][^boost/asio/handler_alloc_hook.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -253,9 +253,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/handler_invoke_hook.hpp]
+['Header: ][^boost/asio/handler_invoke_hook.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -297,9 +297,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/handler_continuation_hook.hpp]
+['Header: ][^boost/asio/handler_continuation_hook.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -316,7 +316,7 @@
       typename ``[link boost_asio.reference.SocketService SocketService]``,
       typename Iterator,
       typename ``[link boost_asio.reference.ComposedConnectHandler ComposedConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_connect.overload1 async_connect]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_connect.overload1 async_connect]``(
       basic_socket< Protocol, SocketService > & s,
       Iterator begin,
       ComposedConnectHandler handler);
@@ -327,7 +327,7 @@
       typename ``[link boost_asio.reference.SocketService SocketService]``,
       typename Iterator,
       typename ``[link boost_asio.reference.ComposedConnectHandler ComposedConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_connect.overload2 async_connect]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_connect.overload2 async_connect]``(
       basic_socket< Protocol, SocketService > & s,
       Iterator begin,
       Iterator end,
@@ -340,7 +340,7 @@
       typename Iterator,
       typename ConnectCondition,
       typename ``[link boost_asio.reference.ComposedConnectHandler ComposedConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_connect.overload3 async_connect]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_connect.overload3 async_connect]``(
       basic_socket< Protocol, SocketService > & s,
       Iterator begin,
       ConnectCondition connect_condition,
@@ -353,7 +353,7 @@
       typename Iterator,
       typename ConnectCondition,
       typename ``[link boost_asio.reference.ComposedConnectHandler ComposedConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_connect.overload4 async_connect]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_connect.overload4 async_connect]``(
       basic_socket< Protocol, SocketService > & s,
       Iterator begin,
       Iterator end,
@@ -363,9 +363,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/connect.hpp]
+['Header: ][^boost/asio/connect.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 async_connect (1 of 4 overloads)]
@@ -379,7 +379,7 @@
       typename ``[link boost_asio.reference.SocketService SocketService]``,
       typename Iterator,
       typename ``[link boost_asio.reference.ComposedConnectHandler ComposedConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       basic_socket< Protocol, SocketService > & s,
       Iterator begin,
       ComposedConnectHandler handler);
@@ -474,7 +474,7 @@
       typename ``[link boost_asio.reference.SocketService SocketService]``,
       typename Iterator,
       typename ``[link boost_asio.reference.ComposedConnectHandler ComposedConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       basic_socket< Protocol, SocketService > & s,
       Iterator begin,
       Iterator end,
@@ -569,7 +569,7 @@
       typename Iterator,
       typename ConnectCondition,
       typename ``[link boost_asio.reference.ComposedConnectHandler ComposedConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       basic_socket< Protocol, SocketService > & s,
       Iterator begin,
       ConnectCondition connect_condition,
@@ -699,7 +699,7 @@
       typename Iterator,
       typename ConnectCondition,
       typename ``[link boost_asio.reference.ComposedConnectHandler ComposedConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       basic_socket< Protocol, SocketService > & s,
       Iterator begin,
       Iterator end,
@@ -827,7 +827,7 @@
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_read.overload1 async_read]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_read.overload1 async_read]``(
       AsyncReadStream & s,
       const MutableBufferSequence & buffers,
       ReadHandler handler);
@@ -838,7 +838,7 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_read.overload2 async_read]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_read.overload2 async_read]``(
       AsyncReadStream & s,
       const MutableBufferSequence & buffers,
       CompletionCondition completion_condition,
@@ -849,7 +849,7 @@
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
       typename Allocator,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_read.overload3 async_read]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_read.overload3 async_read]``(
       AsyncReadStream & s,
       basic_streambuf< Allocator > & b,
       ReadHandler handler);
@@ -860,7 +860,7 @@
       typename Allocator,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_read.overload4 async_read]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_read.overload4 async_read]``(
       AsyncReadStream & s,
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition,
@@ -869,9 +869,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/read.hpp]
+['Header: ][^boost/asio/read.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 async_read (1 of 4 overloads)]
@@ -884,7 +884,7 @@
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read(
       AsyncReadStream & s,
       const MutableBufferSequence & buffers,
       ReadHandler handler);
@@ -967,7 +967,7 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read(
       AsyncReadStream & s,
       const MutableBufferSequence & buffers,
       CompletionCondition completion_condition,
@@ -1050,7 +1050,7 @@
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
       typename Allocator,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read(
       AsyncReadStream & s,
       basic_streambuf< Allocator > & b,
       ReadHandler handler);
@@ -1123,7 +1123,7 @@
       typename Allocator,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read(
       AsyncReadStream & s,
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition,
@@ -1196,7 +1196,7 @@
       typename ``[link boost_asio.reference.AsyncRandomAccessReadDevice AsyncRandomAccessReadDevice]``,
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_at.overload1 async_read_at]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_at.overload1 async_read_at]``(
       AsyncRandomAccessReadDevice & d,
       uint64_t offset,
       const MutableBufferSequence & buffers,
@@ -1208,7 +1208,7 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_at.overload2 async_read_at]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_at.overload2 async_read_at]``(
       AsyncRandomAccessReadDevice & d,
       uint64_t offset,
       const MutableBufferSequence & buffers,
@@ -1220,7 +1220,7 @@
       typename ``[link boost_asio.reference.AsyncRandomAccessReadDevice AsyncRandomAccessReadDevice]``,
       typename Allocator,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_at.overload3 async_read_at]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_at.overload3 async_read_at]``(
       AsyncRandomAccessReadDevice & d,
       uint64_t offset,
       basic_streambuf< Allocator > & b,
@@ -1232,7 +1232,7 @@
       typename Allocator,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_at.overload4 async_read_at]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_at.overload4 async_read_at]``(
       AsyncRandomAccessReadDevice & d,
       uint64_t offset,
       basic_streambuf< Allocator > & b,
@@ -1242,9 +1242,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/read_at.hpp]
+['Header: ][^boost/asio/read_at.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 async_read_at (1 of 4 overloads)]
@@ -1257,7 +1257,7 @@
       typename ``[link boost_asio.reference.AsyncRandomAccessReadDevice AsyncRandomAccessReadDevice]``,
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_at(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_at(
       AsyncRandomAccessReadDevice & d,
       uint64_t offset,
       const MutableBufferSequence & buffers,
@@ -1343,7 +1343,7 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_at(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_at(
       AsyncRandomAccessReadDevice & d,
       uint64_t offset,
       const MutableBufferSequence & buffers,
@@ -1429,7 +1429,7 @@
       typename ``[link boost_asio.reference.AsyncRandomAccessReadDevice AsyncRandomAccessReadDevice]``,
       typename Allocator,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_at(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_at(
       AsyncRandomAccessReadDevice & d,
       uint64_t offset,
       basic_streambuf< Allocator > & b,
@@ -1502,7 +1502,7 @@
       typename Allocator,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_at(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_at(
       AsyncRandomAccessReadDevice & d,
       uint64_t offset,
       basic_streambuf< Allocator > & b,
@@ -1575,7 +1575,7 @@
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
       typename Allocator,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_until.overload1 async_read_until]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_until.overload1 async_read_until]``(
       AsyncReadStream & s,
       boost::asio::basic_streambuf< Allocator > & b,
       char delim,
@@ -1586,7 +1586,7 @@
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
       typename Allocator,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_until.overload2 async_read_until]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_until.overload2 async_read_until]``(
       AsyncReadStream & s,
       boost::asio::basic_streambuf< Allocator > & b,
       const std::string & delim,
@@ -1597,7 +1597,7 @@
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
       typename Allocator,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_until.overload3 async_read_until]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_until.overload3 async_read_until]``(
       AsyncReadStream & s,
       boost::asio::basic_streambuf< Allocator > & b,
       const boost::regex & expr,
@@ -1609,7 +1609,7 @@
       typename Allocator,
       typename MatchCondition,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_until.overload4 async_read_until]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_read_until.overload4 async_read_until]``(
       AsyncReadStream & s,
       boost::asio::basic_streambuf< Allocator > & b,
       MatchCondition match_condition,
@@ -1619,9 +1619,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/read_until.hpp]
+['Header: ][^boost/asio/read_until.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 async_read_until (1 of 4 overloads)]
@@ -1634,7 +1634,7 @@
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
       typename Allocator,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_until(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_until(
       AsyncReadStream & s,
       boost::asio::basic_streambuf< Allocator > & b,
       char delim,
@@ -1739,7 +1739,7 @@
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
       typename Allocator,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_until(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_until(
       AsyncReadStream & s,
       boost::asio::basic_streambuf< Allocator > & b,
       const std::string & delim,
@@ -1844,7 +1844,7 @@
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
       typename Allocator,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_until(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_until(
       AsyncReadStream & s,
       boost::asio::basic_streambuf< Allocator > & b,
       const boost::regex & expr,
@@ -1951,7 +1951,7 @@
       typename Allocator,
       typename MatchCondition,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_until(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_until(
       AsyncReadStream & s,
       boost::asio::basic_streambuf< Allocator > & b,
       MatchCondition match_condition,
@@ -2123,9 +2123,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/async_result.hpp]
+['Header: ][^boost/asio/async_result.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:async_result async_result::async_result]
@@ -2171,9 +2171,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/async_result.hpp]
+['Header: ][^boost/asio/async_result.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -2192,7 +2192,7 @@
       typename ``[link boost_asio.reference.AsyncWriteStream AsyncWriteStream]``,
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_write.overload1 async_write]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_write.overload1 async_write]``(
       AsyncWriteStream & s,
       const ConstBufferSequence & buffers,
       WriteHandler handler);
@@ -2203,7 +2203,7 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_write.overload2 async_write]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_write.overload2 async_write]``(
       AsyncWriteStream & s,
       const ConstBufferSequence & buffers,
       CompletionCondition completion_condition,
@@ -2214,7 +2214,7 @@
       typename ``[link boost_asio.reference.AsyncWriteStream AsyncWriteStream]``,
       typename Allocator,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_write.overload3 async_write]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_write.overload3 async_write]``(
       AsyncWriteStream & s,
       basic_streambuf< Allocator > & b,
       WriteHandler handler);
@@ -2225,7 +2225,7 @@
       typename Allocator,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_write.overload4 async_write]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_write.overload4 async_write]``(
       AsyncWriteStream & s,
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition,
@@ -2234,9 +2234,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/write.hpp]
+['Header: ][^boost/asio/write.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 async_write (1 of 4 overloads)]
@@ -2249,7 +2249,7 @@
       typename ``[link boost_asio.reference.AsyncWriteStream AsyncWriteStream]``,
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write(
       AsyncWriteStream & s,
       const ConstBufferSequence & buffers,
       WriteHandler handler);
@@ -2318,7 +2318,7 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write(
       AsyncWriteStream & s,
       const ConstBufferSequence & buffers,
       CompletionCondition completion_condition,
@@ -2402,7 +2402,7 @@
       typename ``[link boost_asio.reference.AsyncWriteStream AsyncWriteStream]``,
       typename Allocator,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write(
       AsyncWriteStream & s,
       basic_streambuf< Allocator > & b,
       WriteHandler handler);
@@ -2461,7 +2461,7 @@
       typename Allocator,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write(
       AsyncWriteStream & s,
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition,
@@ -2533,7 +2533,7 @@
       typename ``[link boost_asio.reference.AsyncRandomAccessWriteDevice AsyncRandomAccessWriteDevice]``,
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_write_at.overload1 async_write_at]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_write_at.overload1 async_write_at]``(
       AsyncRandomAccessWriteDevice & d,
       uint64_t offset,
       const ConstBufferSequence & buffers,
@@ -2545,7 +2545,7 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_write_at.overload2 async_write_at]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_write_at.overload2 async_write_at]``(
       AsyncRandomAccessWriteDevice & d,
       uint64_t offset,
       const ConstBufferSequence & buffers,
@@ -2557,7 +2557,7 @@
       typename ``[link boost_asio.reference.AsyncRandomAccessWriteDevice AsyncRandomAccessWriteDevice]``,
       typename Allocator,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_write_at.overload3 async_write_at]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_write_at.overload3 async_write_at]``(
       AsyncRandomAccessWriteDevice & d,
       uint64_t offset,
       basic_streambuf< Allocator > & b,
@@ -2569,7 +2569,7 @@
       typename Allocator,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.async_write_at.overload4 async_write_at]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.async_write_at.overload4 async_write_at]``(
       AsyncRandomAccessWriteDevice & d,
       uint64_t offset,
       basic_streambuf< Allocator > & b,
@@ -2579,9 +2579,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/write_at.hpp]
+['Header: ][^boost/asio/write_at.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 async_write_at (1 of 4 overloads)]
@@ -2594,7 +2594,7 @@
       typename ``[link boost_asio.reference.AsyncRandomAccessWriteDevice AsyncRandomAccessWriteDevice]``,
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_at(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_at(
       AsyncRandomAccessWriteDevice & d,
       uint64_t offset,
       const ConstBufferSequence & buffers,
@@ -2666,7 +2666,7 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_at(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_at(
       AsyncRandomAccessWriteDevice & d,
       uint64_t offset,
       const ConstBufferSequence & buffers,
@@ -2753,7 +2753,7 @@
       typename ``[link boost_asio.reference.AsyncRandomAccessWriteDevice AsyncRandomAccessWriteDevice]``,
       typename Allocator,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_at(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_at(
       AsyncRandomAccessWriteDevice & d,
       uint64_t offset,
       basic_streambuf< Allocator > & b,
@@ -2815,7 +2815,7 @@
       typename Allocator,
       typename CompletionCondition,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_at(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_at(
       AsyncRandomAccessWriteDevice & d,
       uint64_t offset,
       basic_streambuf< Allocator > & b,
@@ -3313,9 +3313,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign basic_datagram_socket::assign]
 
@@ -3387,7 +3387,7 @@
 
   template<
       typename ``[link boost_asio.reference.ConnectHandler ConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       const endpoint_type & peer_endpoint,
       ConnectHandler handler);
 
@@ -3452,7 +3452,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_receive.overload1 async_receive]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_receive.overload1 async_receive]``(
       const MutableBufferSequence & buffers,
       ReadHandler handler);
   `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.async_receive.overload1 more...]]``
@@ -3460,7 +3460,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_receive.overload2 async_receive]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_receive.overload2 async_receive]``(
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
       ReadHandler handler);
@@ -3476,7 +3476,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive(
       const MutableBufferSequence & buffers,
       ReadHandler handler);
 
@@ -3533,7 +3533,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive(
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
       ReadHandler handler);
@@ -3584,7 +3584,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_receive_from.overload1 async_receive_from]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_receive_from.overload1 async_receive_from]``(
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
       ReadHandler handler);
@@ -3593,7 +3593,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_receive_from.overload2 async_receive_from]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_receive_from.overload2 async_receive_from]``(
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
       socket_base::message_flags flags,
@@ -3610,7 +3610,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive_from(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive_from(
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
       ReadHandler handler);
@@ -3666,7 +3666,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive_from(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive_from(
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
       socket_base::message_flags flags,
@@ -3715,7 +3715,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_send.overload1 async_send]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_send.overload1 async_send]``(
       const ConstBufferSequence & buffers,
       WriteHandler handler);
   `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.async_send.overload1 more...]]``
@@ -3723,7 +3723,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_send.overload2 async_send]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_send.overload2 async_send]``(
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       WriteHandler handler);
@@ -3739,7 +3739,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send(
       const ConstBufferSequence & buffers,
       WriteHandler handler);
 
@@ -3796,7 +3796,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send(
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       WriteHandler handler);
@@ -3847,7 +3847,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_send_to.overload1 async_send_to]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_send_to.overload1 async_send_to]``(
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
       WriteHandler handler);
@@ -3856,7 +3856,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_send_to.overload2 async_send_to]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_datagram_socket.async_send_to.overload2 async_send_to]``(
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
       socket_base::message_flags flags,
@@ -3873,7 +3873,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send_to(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send_to(
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
       WriteHandler handler);
@@ -3931,7 +3931,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send_to(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send_to(
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
       socket_base::message_flags flags,
@@ -4608,9 +4608,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -4651,9 +4651,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -5055,9 +5055,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -5109,9 +5109,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -5163,9 +5163,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -5184,9 +5184,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -5480,9 +5480,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -5684,9 +5684,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -5739,9 +5739,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -6333,9 +6333,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -6408,9 +6408,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -6501,9 +6501,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -6873,9 +6873,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -7051,9 +7051,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -7287,9 +7287,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -7532,9 +7532,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -7776,9 +7776,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -7947,9 +7947,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -8192,9 +8192,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -8246,9 +8246,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -8484,9 +8484,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+['Header: ][^boost/asio/basic_datagram_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -9027,9 +9027,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_deadline_timer.hpp]
+['Header: ][^boost/asio/basic_deadline_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:async_wait basic_deadline_timer::async_wait]
@@ -9040,7 +9040,7 @@
 
   template<
       typename ``[link boost_asio.reference.WaitHandler WaitHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_wait(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_wait(
       WaitHandler handler);
 
 
@@ -9428,9 +9428,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_deadline_timer.hpp]
+['Header: ][^boost/asio/basic_deadline_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -9877,9 +9877,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_deadline_timer.hpp]
+['Header: ][^boost/asio/basic_deadline_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -9925,9 +9925,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_deadline_timer.hpp]
+['Header: ][^boost/asio/basic_deadline_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -9946,9 +9946,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_deadline_timer.hpp]
+['Header: ][^boost/asio/basic_deadline_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -9967,9 +9967,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_deadline_timer.hpp]
+['Header: ][^boost/asio/basic_deadline_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -10150,9 +10150,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_io_object.hpp]
+['Header: ][^boost/asio/basic_io_object.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:basic_io_object basic_io_object::basic_io_object]
 
@@ -10360,9 +10360,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_io_object.hpp]
+['Header: ][^boost/asio/basic_io_object.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -10432,9 +10432,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_io_object.hpp]
+['Header: ][^boost/asio/basic_io_object.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -10897,9 +10897,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign basic_raw_socket::assign]
 
@@ -10971,7 +10971,7 @@
 
   template<
       typename ``[link boost_asio.reference.ConnectHandler ConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       const endpoint_type & peer_endpoint,
       ConnectHandler handler);
 
@@ -11036,7 +11036,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_receive.overload1 async_receive]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_receive.overload1 async_receive]``(
       const MutableBufferSequence & buffers,
       ReadHandler handler);
   `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.async_receive.overload1 more...]]``
@@ -11044,7 +11044,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_receive.overload2 async_receive]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_receive.overload2 async_receive]``(
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
       ReadHandler handler);
@@ -11060,7 +11060,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive(
       const MutableBufferSequence & buffers,
       ReadHandler handler);
 
@@ -11117,7 +11117,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive(
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
       ReadHandler handler);
@@ -11168,7 +11168,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_receive_from.overload1 async_receive_from]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_receive_from.overload1 async_receive_from]``(
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
       ReadHandler handler);
@@ -11177,7 +11177,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_receive_from.overload2 async_receive_from]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_receive_from.overload2 async_receive_from]``(
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
       socket_base::message_flags flags,
@@ -11194,7 +11194,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive_from(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive_from(
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
       ReadHandler handler);
@@ -11250,7 +11250,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive_from(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive_from(
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
       socket_base::message_flags flags,
@@ -11299,7 +11299,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_send.overload1 async_send]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_send.overload1 async_send]``(
       const ConstBufferSequence & buffers,
       WriteHandler handler);
   `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.async_send.overload1 more...]]``
@@ -11307,7 +11307,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_send.overload2 async_send]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_send.overload2 async_send]``(
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       WriteHandler handler);
@@ -11323,7 +11323,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send(
       const ConstBufferSequence & buffers,
       WriteHandler handler);
 
@@ -11380,7 +11380,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send(
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       WriteHandler handler);
@@ -11431,7 +11431,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_send_to.overload1 async_send_to]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_send_to.overload1 async_send_to]``(
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
       WriteHandler handler);
@@ -11440,7 +11440,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_send_to.overload2 async_send_to]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_raw_socket.async_send_to.overload2 async_send_to]``(
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
       socket_base::message_flags flags,
@@ -11457,7 +11457,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send_to(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send_to(
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
       WriteHandler handler);
@@ -11515,7 +11515,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send_to(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send_to(
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
       socket_base::message_flags flags,
@@ -12192,9 +12192,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -12235,9 +12235,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -12639,9 +12639,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -12693,9 +12693,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -12747,9 +12747,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -12768,9 +12768,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -13064,9 +13064,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -13268,9 +13268,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -13323,9 +13323,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -13917,9 +13917,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -13992,9 +13992,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -14085,9 +14085,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -14457,9 +14457,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -14635,9 +14635,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -14871,9 +14871,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -15116,9 +15116,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -15360,9 +15360,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -15531,9 +15531,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -15776,9 +15776,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -15830,9 +15830,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -16068,9 +16068,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_raw_socket.hpp]
+['Header: ][^boost/asio/basic_raw_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -16789,9 +16789,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign basic_seq_packet_socket::assign]
 
@@ -16863,7 +16863,7 @@
 
   template<
       typename ``[link boost_asio.reference.ConnectHandler ConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       const endpoint_type & peer_endpoint,
       ConnectHandler handler);
 
@@ -16928,7 +16928,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_seq_packet_socket.async_receive.overload1 async_receive]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_seq_packet_socket.async_receive.overload1 async_receive]``(
       const MutableBufferSequence & buffers,
       socket_base::message_flags & out_flags,
       ReadHandler handler);
@@ -16937,7 +16937,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_seq_packet_socket.async_receive.overload2 async_receive]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_seq_packet_socket.async_receive.overload2 async_receive]``(
       const MutableBufferSequence & buffers,
       socket_base::message_flags in_flags,
       socket_base::message_flags & out_flags,
@@ -16954,7 +16954,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive(
       const MutableBufferSequence & buffers,
       socket_base::message_flags & out_flags,
       ReadHandler handler);
@@ -17009,7 +17009,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive(
       const MutableBufferSequence & buffers,
       socket_base::message_flags in_flags,
       socket_base::message_flags & out_flags,
@@ -17071,7 +17071,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send(
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       WriteHandler handler);
@@ -17753,9 +17753,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -17796,9 +17796,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -18200,9 +18200,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -18254,9 +18254,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -18308,9 +18308,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -18329,9 +18329,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -18625,9 +18625,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -18829,9 +18829,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -18884,9 +18884,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -19478,9 +19478,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -19553,9 +19553,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -19646,9 +19646,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -20018,9 +20018,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -20196,9 +20196,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -20432,9 +20432,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -20698,9 +20698,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -20752,9 +20752,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -20923,9 +20923,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -21106,9 +21106,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -21160,9 +21160,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -21208,9 +21208,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_seq_packet_socket.hpp]
+['Header: ][^boost/asio/basic_seq_packet_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -21717,9 +21717,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_serial_port.hpp]
+['Header: ][^boost/asio/basic_serial_port.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign basic_serial_port::assign]
 
@@ -21779,7 +21779,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_some(
       const MutableBufferSequence & buffers,
       ReadHandler handler);
 
@@ -21836,7 +21836,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_some(
       const ConstBufferSequence & buffers,
       WriteHandler handler);
 
@@ -22492,9 +22492,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_serial_port.hpp]
+['Header: ][^boost/asio/basic_serial_port.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -22779,9 +22779,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_serial_port.hpp]
+['Header: ][^boost/asio/basic_serial_port.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -22832,9 +22832,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_serial_port.hpp]
+['Header: ][^boost/asio/basic_serial_port.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -22853,9 +22853,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_serial_port.hpp]
+['Header: ][^boost/asio/basic_serial_port.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -23221,9 +23221,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_serial_port.hpp]
+['Header: ][^boost/asio/basic_serial_port.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -23631,9 +23631,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_signal_set.hpp]
+['Header: ][^boost/asio/basic_signal_set.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:add basic_signal_set::add]
 
@@ -23732,7 +23732,7 @@
 
   template<
       typename ``[link boost_asio.reference.SignalHandler SignalHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_wait(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_wait(
       SignalHandler handler);
 
 
@@ -24316,9 +24316,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_signal_set.hpp]
+['Header: ][^boost/asio/basic_signal_set.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -24462,9 +24462,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_signal_set.hpp]
+['Header: ][^boost/asio/basic_signal_set.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -24872,9 +24872,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign basic_socket::assign]
 
@@ -24937,7 +24937,7 @@
 
   template<
       typename ``[link boost_asio.reference.ConnectHandler ConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       const endpoint_type & peer_endpoint,
       ConnectHandler handler);
 
@@ -25612,9 +25612,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -25655,9 +25655,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -26041,9 +26041,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -26095,9 +26095,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -26149,9 +26149,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -26170,9 +26170,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -26464,9 +26464,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -26663,9 +26663,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -26718,9 +26718,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -27297,9 +27297,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -27372,9 +27372,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -27459,9 +27459,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -27822,9 +27822,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -27991,9 +27991,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -28221,9 +28221,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -28275,9 +28275,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -28329,9 +28329,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -28494,9 +28494,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -28548,9 +28548,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -28602,9 +28602,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -28650,9 +28650,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket.hpp]
+['Header: ][^boost/asio/basic_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -29344,9 +29344,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:accept basic_socket_acceptor::accept]
 
@@ -29678,7 +29678,7 @@
       typename ``[link boost_asio.reference.Protocol Protocol1]``,
       typename ``[link boost_asio.reference.SocketService SocketService]``,
       typename ``[link boost_asio.reference.AcceptHandler AcceptHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_socket_acceptor.async_accept.overload1 async_accept]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_socket_acceptor.async_accept.overload1 async_accept]``(
       basic_socket< Protocol1, SocketService > & peer,
       AcceptHandler handler,
       typename enable_if< is_convertible< Protocol, Protocol1 >::value >::type * = 0);
@@ -29687,7 +29687,7 @@
   template<
       typename ``[link boost_asio.reference.SocketService SocketService]``,
       typename ``[link boost_asio.reference.AcceptHandler AcceptHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_socket_acceptor.async_accept.overload2 async_accept]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_socket_acceptor.async_accept.overload2 async_accept]``(
       basic_socket< protocol_type, SocketService > & peer,
       endpoint_type & peer_endpoint,
       AcceptHandler handler);
@@ -29704,7 +29704,7 @@
       typename ``[link boost_asio.reference.Protocol Protocol1]``,
       typename ``[link boost_asio.reference.SocketService SocketService]``,
       typename ``[link boost_asio.reference.AcceptHandler AcceptHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_accept(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_accept(
       basic_socket< Protocol1, SocketService > & peer,
       AcceptHandler handler,
       typename enable_if< is_convertible< Protocol, Protocol1 >::value >::type * = 0);
@@ -29769,7 +29769,7 @@
   template<
       typename ``[link boost_asio.reference.SocketService SocketService]``,
       typename ``[link boost_asio.reference.AcceptHandler AcceptHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_accept(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_accept(
       basic_socket< protocol_type, SocketService > & peer,
       endpoint_type & peer_endpoint,
       AcceptHandler handler);
@@ -29858,7 +29858,7 @@
 
   template<
       typename ``[link boost_asio.reference.Protocol Protocol1]``,
- typename ``[link boost_asio.reference.SocketAcceptorService1 SocketAcceptorService1]``>
+ typename ``[link boost_asio.reference.SocketAcceptorService SocketAcceptorService1]``>
   ``[link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6 basic_socket_acceptor]``(
       basic_socket_acceptor< Protocol1, SocketAcceptorService1 > && other,
       typename enable_if< is_convertible< Protocol1, Protocol >::value >::type * = 0);
@@ -30083,7 +30083,7 @@
 
   template<
       typename ``[link boost_asio.reference.Protocol Protocol1]``,
- typename ``[link boost_asio.reference.SocketAcceptorService1 SocketAcceptorService1]``>
+ typename ``[link boost_asio.reference.SocketAcceptorService SocketAcceptorService1]``>
   basic_socket_acceptor(
       basic_socket_acceptor< Protocol1, SocketAcceptorService1 > && other,
       typename enable_if< is_convertible< Protocol1, Protocol >::value >::type * = 0);
@@ -30279,9 +30279,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -30322,9 +30322,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -30541,9 +30541,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -30595,9 +30595,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -30649,9 +30649,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -30670,9 +30670,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -30964,9 +30964,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -31161,9 +31161,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -31216,9 +31216,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -31507,9 +31507,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -31594,9 +31594,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -31738,9 +31738,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -31907,9 +31907,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -32046,7 +32046,7 @@
 
   template<
       typename ``[link boost_asio.reference.Protocol Protocol1]``,
- typename ``[link boost_asio.reference.SocketAcceptorService1 SocketAcceptorService1]``>
+ typename ``[link boost_asio.reference.SocketAcceptorService SocketAcceptorService1]``>
   enable_if< is_convertible< Protocol1, Protocol >::value, basic_socket_acceptor >::type & ``[link boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2 operator=]``(
       basic_socket_acceptor< Protocol1, SocketAcceptorService1 > && other);
   `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2 more...]]``
@@ -32094,7 +32094,7 @@
 
   template<
       typename ``[link boost_asio.reference.Protocol Protocol1]``,
- typename ``[link boost_asio.reference.SocketAcceptorService1 SocketAcceptorService1]``>
+ typename ``[link boost_asio.reference.SocketAcceptorService SocketAcceptorService1]``>
   enable_if< is_convertible< Protocol1, Protocol >::value, basic_socket_acceptor >::type & operator=(
       basic_socket_acceptor< Protocol1, SocketAcceptorService1 > && other);
 
@@ -32137,9 +32137,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -32191,9 +32191,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -32245,9 +32245,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -32299,9 +32299,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -32353,9 +32353,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -32407,9 +32407,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -32455,9 +32455,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+['Header: ][^boost/asio/basic_socket_acceptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -32727,9 +32727,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_iostream.hpp]
+['Header: ][^boost/asio/basic_socket_iostream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:basic_socket_iostream basic_socket_iostream::basic_socket_iostream]
 
@@ -32843,9 +32843,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_iostream.hpp]
+['Header: ][^boost/asio/basic_socket_iostream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -32864,9 +32864,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_iostream.hpp]
+['Header: ][^boost/asio/basic_socket_iostream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -33072,9 +33072,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_iostream.hpp]
+['Header: ][^boost/asio/basic_socket_iostream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -33534,9 +33534,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign basic_socket_streambuf::assign]
 
@@ -33608,7 +33608,7 @@
 
   template<
       typename ``[link boost_asio.reference.ConnectHandler ConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       const endpoint_type & peer_endpoint,
       ConnectHandler handler);
 
@@ -34025,9 +34025,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -34068,9 +34068,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -34472,9 +34472,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -34526,9 +34526,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -34547,9 +34547,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -34601,9 +34601,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -34622,9 +34622,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -35077,9 +35077,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -35228,9 +35228,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -35299,9 +35299,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -35354,9 +35354,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -35948,9 +35948,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -36023,9 +36023,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -36119,9 +36119,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -36494,9 +36494,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -36672,9 +36672,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -36830,9 +36830,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -36905,9 +36905,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -36959,9 +36959,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -37130,9 +37130,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -37184,9 +37184,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -37238,9 +37238,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -37286,9 +37286,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -37628,9 +37628,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -37646,9 +37646,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+['Header: ][^boost/asio/basic_socket_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -38119,9 +38119,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign basic_stream_socket::assign]
 
@@ -38193,7 +38193,7 @@
 
   template<
       typename ``[link boost_asio.reference.ConnectHandler ConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       const endpoint_type & peer_endpoint,
       ConnectHandler handler);
 
@@ -38259,7 +38259,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_some(
       const MutableBufferSequence & buffers,
       ReadHandler handler);
 
@@ -38315,7 +38315,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_stream_socket.async_receive.overload1 async_receive]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_stream_socket.async_receive.overload1 async_receive]``(
       const MutableBufferSequence & buffers,
       ReadHandler handler);
   `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.async_receive.overload1 more...]]``
@@ -38323,7 +38323,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_stream_socket.async_receive.overload2 async_receive]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_stream_socket.async_receive.overload2 async_receive]``(
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
       ReadHandler handler);
@@ -38339,7 +38339,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive(
       const MutableBufferSequence & buffers,
       ReadHandler handler);
 
@@ -38396,7 +38396,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive(
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
       ReadHandler handler);
@@ -38457,7 +38457,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_stream_socket.async_send.overload1 async_send]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_stream_socket.async_send.overload1 async_send]``(
       const ConstBufferSequence & buffers,
       WriteHandler handler);
   `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.async_send.overload1 more...]]``
@@ -38465,7 +38465,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.basic_stream_socket.async_send.overload2 async_send]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.basic_stream_socket.async_send.overload2 async_send]``(
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       WriteHandler handler);
@@ -38481,7 +38481,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send(
       const ConstBufferSequence & buffers,
       WriteHandler handler);
 
@@ -38538,7 +38538,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send(
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       WriteHandler handler);
@@ -38600,7 +38600,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_some(
       const ConstBufferSequence & buffers,
       WriteHandler handler);
 
@@ -39284,9 +39284,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -39327,9 +39327,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -39731,9 +39731,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -39785,9 +39785,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -39839,9 +39839,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -39860,9 +39860,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -40156,9 +40156,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -40360,9 +40360,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -40415,9 +40415,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -41009,9 +41009,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -41084,9 +41084,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -41177,9 +41177,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -41549,9 +41549,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -41727,9 +41727,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -41963,9 +41963,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -42348,9 +42348,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -42402,9 +42402,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -42573,9 +42573,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -42828,9 +42828,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -42882,9 +42882,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -42930,9 +42930,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_stream_socket.hpp]
+['Header: ][^boost/asio/basic_stream_socket.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -43516,9 +43516,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_streambuf.hpp]
+['Header: ][^boost/asio/basic_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:basic_streambuf basic_streambuf::basic_streambuf]
@@ -43582,9 +43582,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_streambuf.hpp]
+['Header: ][^boost/asio/basic_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -43679,9 +43679,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_streambuf.hpp]
+['Header: ][^boost/asio/basic_streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -44057,9 +44057,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_waitable_timer.hpp]
+['Header: ][^boost/asio/basic_waitable_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:async_wait basic_waitable_timer::async_wait]
@@ -44070,7 +44070,7 @@
 
   template<
       typename ``[link boost_asio.reference.WaitHandler WaitHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_wait(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_wait(
       WaitHandler handler);
 
 
@@ -44458,9 +44458,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_waitable_timer.hpp]
+['Header: ][^boost/asio/basic_waitable_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -44479,9 +44479,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_waitable_timer.hpp]
+['Header: ][^boost/asio/basic_waitable_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -44928,9 +44928,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_waitable_timer.hpp]
+['Header: ][^boost/asio/basic_waitable_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -44976,9 +44976,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_waitable_timer.hpp]
+['Header: ][^boost/asio/basic_waitable_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -44997,9 +44997,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_waitable_timer.hpp]
+['Header: ][^boost/asio/basic_waitable_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -45018,9 +45018,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/basic_waitable_timer.hpp]
+['Header: ][^boost/asio/basic_waitable_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -45104,6 +45104,8 @@
 [section:basic_yield_context basic_yield_context]
 
 
+Context object the represents the currently executing coroutine.
+
 
   template<
       typename ``[link boost_asio.reference.Handler Handler]``>
@@ -45116,26 +45118,45 @@
 
   [
     [[link boost_asio.reference.basic_yield_context.basic_yield_context [*basic_yield_context]]]
- []
+ [Construct a yield context to represent the specified coroutine. ]
   ]
   
   [
     [[link boost_asio.reference.basic_yield_context.operator_lb__rb_ [*operator\[\]]]]
- []
+ [Return a yield context that sets the specified error_code. ]
   ]
   
 ]
 
+The [link boost_asio.reference.basic_yield_context `basic_yield_context`] class is used to represent the currently executing stackful coroutine. A [link boost_asio.reference.basic_yield_context `basic_yield_context`] may be passed as a handler to an asynchronous operation. For example:
+
+
+
+ template <typename Handler>
+ void my_coroutine(basic_yield_context<Handler> yield)
+ {
+ ...
+ std::size_t n = my_socket.async_read_some(buffer, yield);
+ ...
+ }
+
+
+
+
+The initiating function (async\_read\_some in the above example) suspends the current coroutine. The coroutine is resumed when the asynchronous operation completes, and the result of the operation is returned.
+
 [heading Requirements]
 
-[*Header: ][^boost/asio/spawn.hpp]
+['Header: ][^boost/asio/spawn.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:basic_yield_context basic_yield_context::basic_yield_context]
 
 [indexterm2 basic_yield_context..basic_yield_context]
+Construct a yield context to represent the specified coroutine.
+
 
   basic_yield_context(
       const detail::weak_ptr< boost::coroutines::coroutine< void()> > & coro,
@@ -45143,6 +45164,8 @@
       Handler & handler);
 
 
+Most applications do not need to use this constructor. Instead, the `spawn()` function passes a yield context as an argument to the coroutine function.
+
 
 [endsect]
 
@@ -45151,11 +45174,32 @@
 [section:operator_lb__rb_ basic_yield_context::operator\[\]]
 
 [indexterm2 operator\[\]..basic_yield_context]
+Return a yield context that sets the specified error\_code.
+
 
   basic_yield_context operator[](
       boost::system::error_code & ec);
 
 
+By default, when a yield context is used with an asynchronous operation, a non-success error\_code is converted to system\_error and thrown. This operator may be used to specify an error\_code object that should instead be set with the asynchronous operation's result. For example:
+
+
+
+ template <typename Handler>
+ void my_coroutine(basic_yield_context<Handler> yield)
+ {
+ ...
+ std::size_t n = my_socket.async_read_some(buffer, yield[ec]);
+ if (ec)
+ {
+ // An error occurred.
+ }
+ ...
+ }
+
+
+
+
 
 [endsect]
 
@@ -45538,9 +45582,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 buffer (1 of 28 overloads)]
@@ -46477,9 +46521,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 buffer_cast (1 of 2 overloads)]
@@ -46741,9 +46785,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 buffer_copy (1 of 30 overloads)]
@@ -48277,9 +48321,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 buffer_size (1 of 5 overloads)]
@@ -48500,9 +48544,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffered_read_stream.hpp]
+['Header: ][^boost/asio/buffered_read_stream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:async_fill buffered_read_stream::async_fill]
@@ -48838,9 +48882,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffered_read_stream.hpp]
+['Header: ][^boost/asio/buffered_read_stream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -48873,9 +48917,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffered_read_stream.hpp]
+['Header: ][^boost/asio/buffered_read_stream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -49203,9 +49247,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffered_stream.hpp]
+['Header: ][^boost/asio/buffered_stream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:async_fill buffered_stream::async_fill]
@@ -49594,9 +49638,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffered_stream.hpp]
+['Header: ][^boost/asio/buffered_stream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -49629,9 +49673,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffered_stream.hpp]
+['Header: ][^boost/asio/buffered_stream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -49958,9 +50002,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffered_write_stream.hpp]
+['Header: ][^boost/asio/buffered_write_stream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:async_flush buffered_write_stream::async_flush]
@@ -50296,9 +50340,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffered_write_stream.hpp]
+['Header: ][^boost/asio/buffered_write_stream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -50331,9 +50375,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffered_write_stream.hpp]
+['Header: ][^boost/asio/buffered_write_stream.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -50537,9 +50581,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -50560,9 +50604,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -50729,9 +50773,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:begin buffers_iterator::begin]
@@ -50775,9 +50819,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -50811,9 +50855,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -50847,9 +50891,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -50885,9 +50929,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -50907,9 +50951,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -51010,9 +51054,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -51032,9 +51076,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -51133,9 +51177,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -51155,9 +51199,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -51177,9 +51221,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -51199,9 +51243,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -51221,9 +51265,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -51259,9 +51303,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -51282,9 +51326,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -51303,9 +51347,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffers_iterator.hpp]
+['Header: ][^boost/asio/buffers_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -51410,9 +51454,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/connect.hpp]
+['Header: ][^boost/asio/connect.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 connect (1 of 8 overloads)]
@@ -52129,9 +52173,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:const_buffer const_buffer::const_buffer]
 
@@ -52325,9 +52369,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:begin const_buffers_1::begin]
@@ -52408,9 +52452,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -52545,9 +52589,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -52866,9 +52910,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/coroutine.hpp]
+['Header: ][^boost/asio/coroutine.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:coroutine coroutine::coroutine]
@@ -53180,9 +53224,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/datagram_socket_service.hpp]
+['Header: ][^boost/asio/datagram_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:assign datagram_socket_service::assign]
@@ -53211,7 +53255,7 @@
 
   template<
       typename ``[link boost_asio.reference.ConnectHandler ConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       implementation_type & impl,
       const endpoint_type & peer_endpoint,
       ConnectHandler handler);
@@ -53231,7 +53275,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive(
       implementation_type & impl,
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
@@ -53252,7 +53296,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive_from(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive_from(
       implementation_type & impl,
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
@@ -53274,7 +53318,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send(
       implementation_type & impl,
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
@@ -53295,7 +53339,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send_to(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send_to(
       implementation_type & impl,
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
@@ -53480,9 +53524,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/datagram_socket_service.hpp]
+['Header: ][^boost/asio/datagram_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -53551,9 +53595,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/datagram_socket_service.hpp]
+['Header: ][^boost/asio/datagram_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -53685,9 +53729,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/datagram_socket_service.hpp]
+['Header: ][^boost/asio/datagram_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -53760,9 +53804,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/datagram_socket_service.hpp]
+['Header: ][^boost/asio/datagram_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -53850,9 +53894,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/datagram_socket_service.hpp]
+['Header: ][^boost/asio/datagram_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -54229,9 +54273,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/deadline_timer.hpp]
+['Header: ][^boost/asio/deadline_timer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -54357,9 +54401,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/deadline_timer_service.hpp]
+['Header: ][^boost/asio/deadline_timer_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:async_wait deadline_timer_service::async_wait]
@@ -54368,7 +54412,7 @@
 
   template<
       typename ``[link boost_asio.reference.WaitHandler WaitHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_wait(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_wait(
       implementation_type & impl,
       WaitHandler handler);
 
@@ -54467,9 +54511,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/deadline_timer_service.hpp]
+['Header: ][^boost/asio/deadline_timer_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -54627,9 +54671,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/deadline_timer_service.hpp]
+['Header: ][^boost/asio/deadline_timer_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -54648,9 +54692,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/deadline_timer_service.hpp]
+['Header: ][^boost/asio/deadline_timer_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -54669,9 +54713,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/deadline_timer_service.hpp]
+['Header: ][^boost/asio/deadline_timer_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -54704,9 +54748,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -54740,9 +54784,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -54962,9 +55006,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -54980,9 +55024,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -54998,9 +55042,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55016,9 +55060,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55034,9 +55078,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/error.hpp]
+['Header: ][^boost/asio/ssl/error.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -55052,9 +55096,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55086,9 +55130,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 error::make_error_code (1 of 5 overloads)]
@@ -55167,9 +55211,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55215,9 +55259,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55233,9 +55277,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55281,9 +55325,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55299,9 +55343,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/error.hpp]
+['Header: ][^boost/asio/ssl/error.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -55317,9 +55361,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/error.hpp]
+['Header: ][^boost/asio/ssl/error.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -55335,9 +55379,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55476,9 +55520,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/basic_endpoint.hpp]
+['Header: ][^boost/asio/generic/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:basic_endpoint generic::basic_endpoint::basic_endpoint]
 
@@ -55651,9 +55695,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/basic_endpoint.hpp]
+['Header: ][^boost/asio/generic/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55673,9 +55717,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/basic_endpoint.hpp]
+['Header: ][^boost/asio/generic/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55695,9 +55739,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/basic_endpoint.hpp]
+['Header: ][^boost/asio/generic/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55717,9 +55761,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/basic_endpoint.hpp]
+['Header: ][^boost/asio/generic/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55754,9 +55798,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/basic_endpoint.hpp]
+['Header: ][^boost/asio/generic/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55776,9 +55820,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/basic_endpoint.hpp]
+['Header: ][^boost/asio/generic/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55798,9 +55842,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/basic_endpoint.hpp]
+['Header: ][^boost/asio/generic/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55833,9 +55877,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/basic_endpoint.hpp]
+['Header: ][^boost/asio/generic/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -55975,9 +56019,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/datagram_protocol.hpp]
+['Header: ][^boost/asio/generic/datagram_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:datagram_protocol generic::datagram_protocol::datagram_protocol]
 
@@ -56180,9 +56224,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/datagram_protocol.hpp]
+['Header: ][^boost/asio/generic/datagram_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -56216,9 +56260,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/datagram_protocol.hpp]
+['Header: ][^boost/asio/generic/datagram_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -56238,9 +56282,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/datagram_protocol.hpp]
+['Header: ][^boost/asio/generic/datagram_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -56691,9 +56735,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/datagram_protocol.hpp]
+['Header: ][^boost/asio/generic/datagram_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -56818,9 +56862,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/raw_protocol.hpp]
+['Header: ][^boost/asio/generic/raw_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:endpoint generic::raw_protocol::endpoint]
@@ -56955,9 +56999,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/raw_protocol.hpp]
+['Header: ][^boost/asio/generic/raw_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -56991,9 +57035,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/raw_protocol.hpp]
+['Header: ][^boost/asio/generic/raw_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -57013,9 +57057,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/raw_protocol.hpp]
+['Header: ][^boost/asio/generic/raw_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -57534,9 +57578,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/raw_protocol.hpp]
+['Header: ][^boost/asio/generic/raw_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -57656,9 +57700,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/seq_packet_protocol.hpp]
+['Header: ][^boost/asio/generic/seq_packet_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:endpoint generic::seq_packet_protocol::endpoint]
@@ -57793,9 +57837,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/seq_packet_protocol.hpp]
+['Header: ][^boost/asio/generic/seq_packet_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -57829,9 +57873,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/seq_packet_protocol.hpp]
+['Header: ][^boost/asio/generic/seq_packet_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -57851,9 +57895,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/seq_packet_protocol.hpp]
+['Header: ][^boost/asio/generic/seq_packet_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -58354,9 +58398,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/seq_packet_protocol.hpp]
+['Header: ][^boost/asio/generic/seq_packet_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -58488,9 +58532,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/stream_protocol.hpp]
+['Header: ][^boost/asio/generic/stream_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:endpoint generic::stream_protocol::endpoint]
@@ -58625,9 +58669,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/stream_protocol.hpp]
+['Header: ][^boost/asio/generic/stream_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -58734,9 +58778,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/stream_protocol.hpp]
+['Header: ][^boost/asio/generic/stream_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -58756,9 +58800,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/stream_protocol.hpp]
+['Header: ][^boost/asio/generic/stream_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -58778,9 +58822,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/stream_protocol.hpp]
+['Header: ][^boost/asio/generic/stream_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -59234,9 +59278,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/generic/stream_protocol.hpp]
+['Header: ][^boost/asio/generic/stream_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -59335,7 +59379,7 @@
 
   template<
       typename ``[link boost_asio.reference.Handler Handler]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
+ typename Signature>
   struct handler_type
 
 
@@ -59358,9 +59402,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/handler_type.hpp]
+['Header: ][^boost/asio/handler_type.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:type handler_type::type]
@@ -59375,288 +59419,13 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
-
-
-[endsect]
-
-
-
-[endsect]
-
-[section:handler_type_lt__Handler_&,_Signature__gt_ handler_type< Handler &, Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.Handler Handler]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< Handler &, Signature > :
- public handler_type< Handler, Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
-
-
-[endsect]
-
-[section:handler_type_lt__ReturnType_lp__rp_,_Signature__gt_ handler_type< ReturnType(), Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.ReturnType ReturnType]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< ReturnType(), Signature > :
- public handler_type< ReturnType(*)(), Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
-
-
-[endsect]
-
-[section:handler_type_lt__ReturnType_lp_Arg1_rp_,_Signature__gt_ handler_type< ReturnType(Arg1), Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.ReturnType ReturnType]``,
- typename ``[link boost_asio.reference.Arg1 Arg1]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< ReturnType(Arg1), Signature > :
- public handler_type< ReturnType(*)(Arg1), Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
-
-
-[endsect]
-
-[section:handler_type_lt__ReturnType_lp_Arg1,_Arg2_rp_,_Signature__gt_ handler_type< ReturnType(Arg1, Arg2), Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.ReturnType ReturnType]``,
- typename ``[link boost_asio.reference.Arg1 Arg1]``,
- typename ``[link boost_asio.reference.Arg2 Arg2]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< ReturnType(Arg1, Arg2), Signature > :
- public handler_type< ReturnType(*)(Arg1, Arg2), Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
-
-
-[endsect]
-
-[section:handler_type_lt__ReturnType_lp_Arg1,_Arg2,_Arg3_rp_,_Signature__gt_ handler_type< ReturnType(Arg1, Arg2, Arg3), Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.ReturnType ReturnType]``,
- typename ``[link boost_asio.reference.Arg1 Arg1]``,
- typename ``[link boost_asio.reference.Arg2 Arg2]``,
- typename ``[link boost_asio.reference.Arg3 Arg3]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< ReturnType(Arg1, Arg2, Arg3), Signature > :
- public handler_type< ReturnType(*)(Arg1, Arg2, Arg3), Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
-
-
-[endsect]
-
-[section:handler_type_lt__ReturnType_lp_Arg1,_Arg2,_Arg3,_Arg4_rp_,_Signature__gt_ handler_type< ReturnType(Arg1, Arg2, Arg3, Arg4), Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.ReturnType ReturnType]``,
- typename ``[link boost_asio.reference.Arg1 Arg1]``,
- typename ``[link boost_asio.reference.Arg2 Arg2]``,
- typename ``[link boost_asio.reference.Arg3 Arg3]``,
- typename ``[link boost_asio.reference.Arg4 Arg4]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< ReturnType(Arg1, Arg2, Arg3, Arg4), Signature > :
- public handler_type< ReturnType(*)(Arg1, Arg2, Arg3, Arg4), Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
-
-
-[endsect]
-
-[section:handler_type_lt__ReturnType_lp_Arg1,_Arg2,_Arg3,_Arg4,_Arg5_rp_,_Signature__gt_ handler_type< ReturnType(Arg1, Arg2, Arg3, Arg4, Arg5), Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.ReturnType ReturnType]``,
- typename ``[link boost_asio.reference.Arg1 Arg1]``,
- typename ``[link boost_asio.reference.Arg2 Arg2]``,
- typename ``[link boost_asio.reference.Arg3 Arg3]``,
- typename ``[link boost_asio.reference.Arg4 Arg4]``,
- typename ``[link boost_asio.reference.Arg5 Arg5]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< ReturnType(Arg1, Arg2, Arg3, Arg4, Arg5), Signature > :
- public handler_type< ReturnType(*)(Arg1, Arg2, Arg3, Arg4, Arg5), Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
-
-
-[endsect]
-
-[section:handler_type_lt__const_Handler_&,_Signature__gt_ handler_type< const Handler &, Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.Handler Handler]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< const Handler &, Signature > :
- public handler_type< Handler, Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
-
-
-[endsect]
-
-[section:handler_type_lt__const_Handler,_Signature__gt_ handler_type< const Handler, Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.Handler Handler]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< const Handler, Signature > :
- public handler_type< Handler, Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
-
-
-[endsect]
-
-[section:handler_type_lt__const_volatile_Handler_&,_Signature__gt_ handler_type< const volatile Handler &, Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.Handler Handler]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< const volatile Handler &, Signature > :
- public handler_type< Handler, Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
-
-
-[endsect]
-
-[section:handler_type_lt__const_volatile_Handler,_Signature__gt_ handler_type< const volatile Handler, Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.Handler Handler]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< const volatile Handler, Signature > :
- public handler_type< Handler, Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
-
-
-[endsect]
-
-[section:handler_type_lt__volatile_Handler_&,_Signature__gt_ handler_type< volatile Handler &, Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.Handler Handler]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< volatile Handler &, Signature > :
- public handler_type< Handler, Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
+['Header: ][^boost/asio/handler_type.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
 
-[section:handler_type_lt__volatile_Handler,_Signature__gt_ handler_type< volatile Handler, Signature >]
-
-
-
- template<
- typename ``[link boost_asio.reference.Handler Handler]``,
- typename ``[link boost_asio.reference.Signature Signature]``>
- struct handler_type< volatile Handler, Signature > :
- public handler_type< Handler, Signature >
-
-
-[heading Requirements]
-
-[*Header: ][^boost/asio/handler_type.hpp]
-
-[*Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -59693,9 +59462,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/io_service.hpp]
+['Header: ][^boost/asio/io_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -59954,9 +59723,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/high_resolution_timer.hpp]
+['Header: ][^boost/asio/high_resolution_timer.hpp]
 
-[*Convenience header: ]None
+['Convenience header: ]None
 
 
 [endsect]
@@ -59984,9 +59753,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/io_service.hpp]
+['Header: ][^boost/asio/io_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:invalid_service_owner invalid_service_owner::invalid_service_owner]
@@ -60257,9 +60026,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/io_service.hpp]
+['Header: ][^boost/asio/io_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:add_service io_service::add_service]
@@ -60309,9 +60078,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/io_service.hpp]
+['Header: ][^boost/asio/io_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -60326,7 +60095,7 @@
 
   template<
       typename ``[link boost_asio.reference.CompletionHandler CompletionHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` dispatch(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` dispatch(
       CompletionHandler handler);
 
 
@@ -60437,9 +60206,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/io_service.hpp]
+['Header: ][^boost/asio/io_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -60742,7 +60511,7 @@
 
   template<
       typename ``[link boost_asio.reference.CompletionHandler CompletionHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` post(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` post(
       CompletionHandler handler);
 
 
@@ -61046,9 +60815,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/io_service.hpp]
+['Header: ][^boost/asio/io_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -61178,9 +60947,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/io_service.hpp]
+['Header: ][^boost/asio/io_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:id io_service::id::id]
@@ -61254,9 +61023,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/io_service.hpp]
+['Header: ][^boost/asio/io_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:get_io_service io_service::service::get_io_service]
@@ -61455,9 +61224,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/strand.hpp]
+['Header: ][^boost/asio/strand.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:dispatch io_service::strand::dispatch]
@@ -61468,7 +61237,7 @@
 
   template<
       typename ``[link boost_asio.reference.CompletionHandler CompletionHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` dispatch(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` dispatch(
       CompletionHandler handler);
 
 
@@ -61530,7 +61299,7 @@
 
   template<
       typename ``[link boost_asio.reference.CompletionHandler CompletionHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` post(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` post(
       CompletionHandler handler);
 
 
@@ -61727,9 +61496,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/io_service.hpp]
+['Header: ][^boost/asio/io_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:get_io_service io_service::work::get_io_service]
@@ -61958,9 +61727,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address.hpp]
+['Header: ][^boost/asio/ip/address.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:address ip::address::address]
 
@@ -62228,9 +61997,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address.hpp]
+['Header: ][^boost/asio/ip/address.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -62250,9 +62019,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address.hpp]
+['Header: ][^boost/asio/ip/address.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -62312,9 +62081,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address.hpp]
+['Header: ][^boost/asio/ip/address.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -62407,9 +62176,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address.hpp]
+['Header: ][^boost/asio/ip/address.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -62429,9 +62198,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address.hpp]
+['Header: ][^boost/asio/ip/address.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -62451,9 +62220,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address.hpp]
+['Header: ][^boost/asio/ip/address.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -62710,9 +62479,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v4.hpp]
+['Header: ][^boost/asio/ip/address_v4.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:address_v4 ip::address_v4::address_v4]
 
@@ -62892,9 +62661,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v4.hpp]
+['Header: ][^boost/asio/ip/address_v4.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -63115,9 +62884,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v4.hpp]
+['Header: ][^boost/asio/ip/address_v4.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -63137,9 +62906,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v4.hpp]
+['Header: ][^boost/asio/ip/address_v4.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -63199,9 +62968,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v4.hpp]
+['Header: ][^boost/asio/ip/address_v4.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -63236,9 +63005,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v4.hpp]
+['Header: ][^boost/asio/ip/address_v4.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -63258,9 +63027,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v4.hpp]
+['Header: ][^boost/asio/ip/address_v4.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -63280,9 +63049,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v4.hpp]
+['Header: ][^boost/asio/ip/address_v4.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -63570,9 +63339,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v6.hpp]
+['Header: ][^boost/asio/ip/address_v6.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:address_v6 ip::address_v6::address_v6]
 
@@ -63681,9 +63450,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v6.hpp]
+['Header: ][^boost/asio/ip/address_v6.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -63973,9 +63742,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v6.hpp]
+['Header: ][^boost/asio/ip/address_v6.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -63995,9 +63764,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v6.hpp]
+['Header: ][^boost/asio/ip/address_v6.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -64057,9 +63826,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v6.hpp]
+['Header: ][^boost/asio/ip/address_v6.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -64094,9 +63863,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v6.hpp]
+['Header: ][^boost/asio/ip/address_v6.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -64116,9 +63885,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v6.hpp]
+['Header: ][^boost/asio/ip/address_v6.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -64138,9 +63907,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/address_v6.hpp]
+['Header: ][^boost/asio/ip/address_v6.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -64452,9 +64221,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+['Header: ][^boost/asio/ip/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:address ip::basic_endpoint::address]
 
@@ -64688,9 +64457,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+['Header: ][^boost/asio/ip/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -64710,9 +64479,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+['Header: ][^boost/asio/ip/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -64732,9 +64501,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+['Header: ][^boost/asio/ip/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -64791,9 +64560,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+['Header: ][^boost/asio/ip/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -64828,9 +64597,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+['Header: ][^boost/asio/ip/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -64850,9 +64619,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+['Header: ][^boost/asio/ip/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -64872,9 +64641,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+['Header: ][^boost/asio/ip/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -64955,9 +64724,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+['Header: ][^boost/asio/ip/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -65136,9 +64905,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+['Header: ][^boost/asio/ip/basic_resolver.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:async_resolve ip::basic_resolver::async_resolve]
 
@@ -65148,7 +64917,7 @@
 
   template<
       typename ``[link boost_asio.reference.ResolveHandler ResolveHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.ip__basic_resolver.async_resolve.overload1 async_resolve]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.ip__basic_resolver.async_resolve.overload1 async_resolve]``(
       const query & q,
       ResolveHandler handler);
   `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver.async_resolve.overload1 more...]]``
@@ -65159,7 +64928,7 @@
 
   template<
       typename ``[link boost_asio.reference.ResolveHandler ResolveHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.ip__basic_resolver.async_resolve.overload2 async_resolve]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.ip__basic_resolver.async_resolve.overload2 async_resolve]``(
       const endpoint_type & e,
       ResolveHandler handler);
   `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver.async_resolve.overload2 more...]]``
@@ -65173,7 +64942,7 @@
 
   template<
       typename ``[link boost_asio.reference.ResolveHandler ResolveHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_resolve(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_resolve(
       const query & q,
       ResolveHandler handler);
 
@@ -65221,7 +64990,7 @@
 
   template<
       typename ``[link boost_asio.reference.ResolveHandler ResolveHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_resolve(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_resolve(
       const endpoint_type & e,
       ResolveHandler handler);
 
@@ -65320,9 +65089,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+['Header: ][^boost/asio/ip/basic_resolver.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -65483,9 +65252,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+['Header: ][^boost/asio/ip/basic_resolver.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -65614,9 +65383,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+['Header: ][^boost/asio/ip/basic_resolver.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -65635,9 +65404,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+['Header: ][^boost/asio/ip/basic_resolver.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -65760,9 +65529,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+['Header: ][^boost/asio/ip/basic_resolver.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -66020,9 +65789,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+['Header: ][^boost/asio/ip/basic_resolver.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -66108,9 +65877,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_entry.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_entry.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:basic_resolver_entry ip::basic_resolver_entry::basic_resolver_entry]
 
@@ -66191,9 +65960,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_entry.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_entry.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -66240,9 +66009,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_entry.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_entry.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -66388,9 +66157,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:basic_resolver_iterator ip::basic_resolver_iterator::basic_resolver_iterator]
@@ -66477,9 +66246,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -66498,9 +66267,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -66534,9 +66303,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -66618,9 +66387,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -66639,9 +66408,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -66724,9 +66493,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -66809,9 +66578,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -66938,9 +66707,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_query.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_query.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:address_configured ip::basic_resolver_query::address_configured]
@@ -67213,9 +66982,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_query.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_query.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -67313,9 +67082,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/basic_resolver_query.hpp]
+['Header: ][^boost/asio/ip/basic_resolver_query.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -67370,9 +67139,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/host_name.hpp]
+['Header: ][^boost/asio/ip/host_name.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 ip::host_name (1 of 2 overloads)]
@@ -67502,9 +67271,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/icmp.hpp]
+['Header: ][^boost/asio/ip/icmp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:endpoint ip::icmp::endpoint]
@@ -67659,9 +67428,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/icmp.hpp]
+['Header: ][^boost/asio/ip/icmp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -67695,9 +67464,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/icmp.hpp]
+['Header: ][^boost/asio/ip/icmp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -67717,9 +67486,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/icmp.hpp]
+['Header: ][^boost/asio/ip/icmp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -67878,9 +67647,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/icmp.hpp]
+['Header: ][^boost/asio/ip/icmp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -68317,9 +68086,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/icmp.hpp]
+['Header: ][^boost/asio/ip/icmp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -68413,9 +68182,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/multicast.hpp]
+['Header: ][^boost/asio/ip/multicast.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -68464,9 +68233,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/multicast.hpp]
+['Header: ][^boost/asio/ip/multicast.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -68505,9 +68274,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/multicast.hpp]
+['Header: ][^boost/asio/ip/multicast.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -68546,9 +68315,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/multicast.hpp]
+['Header: ][^boost/asio/ip/multicast.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -68587,9 +68356,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/multicast.hpp]
+['Header: ][^boost/asio/ip/multicast.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -68671,9 +68440,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/resolver_query_base.hpp]
+['Header: ][^boost/asio/ip/resolver_query_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:address_configured ip::resolver_query_base::address_configured]
@@ -68730,9 +68499,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/resolver_query_base.hpp]
+['Header: ][^boost/asio/ip/resolver_query_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -68922,9 +68691,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/resolver_service.hpp]
+['Header: ][^boost/asio/ip/resolver_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:async_resolve ip::resolver_service::async_resolve]
 
@@ -68934,7 +68703,7 @@
 
   template<
       typename ``[link boost_asio.reference.ResolveHandler ResolveHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.ip__resolver_service.async_resolve.overload1 async_resolve]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.ip__resolver_service.async_resolve.overload1 async_resolve]``(
       implementation_type & impl,
       const query_type & query,
       ResolveHandler handler);
@@ -68946,7 +68715,7 @@
 
   template<
       typename ``[link boost_asio.reference.ResolveHandler ResolveHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.ip__resolver_service.async_resolve.overload2 async_resolve]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.ip__resolver_service.async_resolve.overload2 async_resolve]``(
       implementation_type & impl,
       const endpoint_type & endpoint,
       ResolveHandler handler);
@@ -68961,7 +68730,7 @@
 
   template<
       typename ``[link boost_asio.reference.ResolveHandler ResolveHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_resolve(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_resolve(
       implementation_type & impl,
       const query_type & query,
       ResolveHandler handler);
@@ -68980,7 +68749,7 @@
 
   template<
       typename ``[link boost_asio.reference.ResolveHandler ResolveHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_resolve(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_resolve(
       implementation_type & impl,
       const endpoint_type & endpoint,
       ResolveHandler handler);
@@ -69050,9 +68819,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/resolver_service.hpp]
+['Header: ][^boost/asio/ip/resolver_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -69102,9 +68871,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/resolver_service.hpp]
+['Header: ][^boost/asio/ip/resolver_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -69233,9 +69002,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/resolver_service.hpp]
+['Header: ][^boost/asio/ip/resolver_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -69254,9 +69023,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/resolver_service.hpp]
+['Header: ][^boost/asio/ip/resolver_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -69379,9 +69148,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/resolver_service.hpp]
+['Header: ][^boost/asio/ip/resolver_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -69581,9 +69350,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/tcp.hpp]
+['Header: ][^boost/asio/ip/tcp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:acceptor ip::tcp::acceptor]
@@ -69964,9 +69733,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/tcp.hpp]
+['Header: ][^boost/asio/ip/tcp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -70125,9 +69894,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/tcp.hpp]
+['Header: ][^boost/asio/ip/tcp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -70234,9 +70003,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/tcp.hpp]
+['Header: ][^boost/asio/ip/tcp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -70285,9 +70054,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/tcp.hpp]
+['Header: ][^boost/asio/ip/tcp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -70307,9 +70076,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/tcp.hpp]
+['Header: ][^boost/asio/ip/tcp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -70329,9 +70098,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/tcp.hpp]
+['Header: ][^boost/asio/ip/tcp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -70490,9 +70259,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/tcp.hpp]
+['Header: ][^boost/asio/ip/tcp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -70932,9 +70701,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/tcp.hpp]
+['Header: ][^boost/asio/ip/tcp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -71082,9 +70851,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/udp.hpp]
+['Header: ][^boost/asio/ip/udp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:endpoint ip::udp::endpoint]
@@ -71239,9 +71008,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/udp.hpp]
+['Header: ][^boost/asio/ip/udp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -71275,9 +71044,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/udp.hpp]
+['Header: ][^boost/asio/ip/udp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -71297,9 +71066,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/udp.hpp]
+['Header: ][^boost/asio/ip/udp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -71458,9 +71227,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/udp.hpp]
+['Header: ][^boost/asio/ip/udp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -71897,9 +71666,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/udp.hpp]
+['Header: ][^boost/asio/ip/udp.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -71993,9 +71762,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/unicast.hpp]
+['Header: ][^boost/asio/ip/unicast.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -72044,9 +71813,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ip/v6_only.hpp]
+['Header: ][^boost/asio/ip/v6_only.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -72076,9 +71845,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/read_until.hpp]
+['Header: ][^boost/asio/read_until.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:value is_match_condition::value]
@@ -72121,9 +71890,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/is_read_buffered.hpp]
+['Header: ][^boost/asio/is_read_buffered.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:value is_read_buffered::value]
@@ -72166,9 +71935,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/is_write_buffered.hpp]
+['Header: ][^boost/asio/is_write_buffered.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:value is_write_buffered::value]
@@ -72331,9 +72100,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+['Header: ][^boost/asio/local/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:basic_endpoint local::basic_endpoint::basic_endpoint]
 
@@ -72494,9 +72263,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+['Header: ][^boost/asio/local/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -72516,9 +72285,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+['Header: ][^boost/asio/local/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -72538,9 +72307,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+['Header: ][^boost/asio/local/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -72597,9 +72366,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+['Header: ][^boost/asio/local/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -72634,9 +72403,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+['Header: ][^boost/asio/local/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -72656,9 +72425,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+['Header: ][^boost/asio/local/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -72678,9 +72447,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+['Header: ][^boost/asio/local/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -72780,9 +72549,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+['Header: ][^boost/asio/local/basic_endpoint.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -72847,9 +72616,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/connect_pair.hpp]
+['Header: ][^boost/asio/local/connect_pair.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 local::connect_pair (1 of 2 overloads)]
@@ -72958,9 +72727,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/datagram_protocol.hpp]
+['Header: ][^boost/asio/local/datagram_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:endpoint local::datagram_protocol::endpoint]
@@ -73106,9 +72875,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/datagram_protocol.hpp]
+['Header: ][^boost/asio/local/datagram_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -73573,9 +73342,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/datagram_protocol.hpp]
+['Header: ][^boost/asio/local/datagram_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -73676,9 +73445,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/stream_protocol.hpp]
+['Header: ][^boost/asio/local/stream_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:acceptor local::stream_protocol::acceptor]
@@ -74059,9 +73828,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/stream_protocol.hpp]
+['Header: ][^boost/asio/local/stream_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -74211,9 +73980,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/stream_protocol.hpp]
+['Header: ][^boost/asio/local/stream_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -74320,9 +74089,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/stream_protocol.hpp]
+['Header: ][^boost/asio/local/stream_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -74776,9 +74545,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/local/stream_protocol.hpp]
+['Header: ][^boost/asio/local/stream_protocol.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -74856,9 +74625,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:mutable_buffer mutable_buffer::mutable_buffer]
 
@@ -75029,9 +74798,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:begin mutable_buffers_1::begin]
@@ -75060,9 +74829,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -75247,9 +75016,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -75305,9 +75074,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:begin null_buffers::begin]
@@ -75336,9 +75105,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -75415,9 +75184,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/buffer.hpp]
+['Header: ][^boost/asio/buffer.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -75438,9 +75207,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/placeholders.hpp]
+['Header: ][^boost/asio/placeholders.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -75458,9 +75227,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/placeholders.hpp]
+['Header: ][^boost/asio/placeholders.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -75478,9 +75247,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/placeholders.hpp]
+['Header: ][^boost/asio/placeholders.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -75498,9 +75267,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/placeholders.hpp]
+['Header: ][^boost/asio/placeholders.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -75710,9 +75479,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign posix::basic_descriptor::assign]
 
@@ -75931,9 +75700,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -76238,9 +76007,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -76657,9 +76426,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -76710,9 +76479,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -76854,9 +76623,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -77023,9 +76792,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -77123,9 +76892,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -77367,9 +77136,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign posix::basic_stream_descriptor::assign]
 
@@ -77435,7 +77204,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_some(
       const MutableBufferSequence & buffers,
       ReadHandler handler);
 
@@ -77492,7 +77261,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_some(
       const ConstBufferSequence & buffers,
       WriteHandler handler);
 
@@ -77708,9 +77477,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -78027,9 +77796,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -78460,9 +78229,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -78519,9 +78288,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -78672,9 +78441,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -78850,9 +78619,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -79079,9 +78848,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+['Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -79258,9 +79027,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/descriptor_base.hpp]
+['Header: ][^boost/asio/posix/descriptor_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:bytes_readable posix::descriptor_base::bytes_readable]
@@ -79294,9 +79063,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/descriptor_base.hpp]
+['Header: ][^boost/asio/posix/descriptor_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -79333,9 +79102,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/descriptor_base.hpp]
+['Header: ][^boost/asio/posix/descriptor_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -79576,9 +79345,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/stream_descriptor.hpp]
+['Header: ][^boost/asio/posix/stream_descriptor.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -79744,9 +79513,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/stream_descriptor_service.hpp]
+['Header: ][^boost/asio/posix/stream_descriptor_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:assign posix::stream_descriptor_service::assign]
@@ -79775,7 +79544,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_some(
       implementation_type & impl,
       const MutableBufferSequence & buffers,
       ReadHandler handler);
@@ -79795,7 +79564,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_some(
       implementation_type & impl,
       const ConstBufferSequence & buffers,
       WriteHandler handler);
@@ -79911,9 +79680,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/stream_descriptor_service.hpp]
+['Header: ][^boost/asio/posix/stream_descriptor_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -80029,9 +79798,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/stream_descriptor_service.hpp]
+['Header: ][^boost/asio/posix/stream_descriptor_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -80104,9 +79873,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/posix/stream_descriptor_service.hpp]
+['Header: ][^boost/asio/posix/stream_descriptor_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -80488,9 +80257,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/raw_socket_service.hpp]
+['Header: ][^boost/asio/raw_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:assign raw_socket_service::assign]
@@ -80519,7 +80288,7 @@
 
   template<
       typename ``[link boost_asio.reference.ConnectHandler ConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       implementation_type & impl,
       const endpoint_type & peer_endpoint,
       ConnectHandler handler);
@@ -80539,7 +80308,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive(
       implementation_type & impl,
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
@@ -80560,7 +80329,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive_from(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive_from(
       implementation_type & impl,
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
@@ -80582,7 +80351,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send(
       implementation_type & impl,
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
@@ -80603,7 +80372,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send_to(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send_to(
       implementation_type & impl,
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
@@ -80773,9 +80542,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/raw_socket_service.hpp]
+['Header: ][^boost/asio/raw_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -80844,9 +80613,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/raw_socket_service.hpp]
+['Header: ][^boost/asio/raw_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -80978,9 +80747,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/raw_socket_service.hpp]
+['Header: ][^boost/asio/raw_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -81053,9 +80822,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/raw_socket_service.hpp]
+['Header: ][^boost/asio/raw_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -81143,9 +80912,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/raw_socket_service.hpp]
+['Header: ][^boost/asio/raw_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -81387,9 +81156,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/read.hpp]
+['Header: ][^boost/asio/read.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 read (1 of 8 overloads)]
@@ -82056,9 +81825,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/read_at.hpp]
+['Header: ][^boost/asio/read_at.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 read_at (1 of 8 overloads)]
@@ -82734,9 +82503,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/read_until.hpp]
+['Header: ][^boost/asio/read_until.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 read_until (1 of 8 overloads)]
@@ -83637,9 +83406,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/seq_packet_socket_service.hpp]
+['Header: ][^boost/asio/seq_packet_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:assign seq_packet_socket_service::assign]
@@ -83668,7 +83437,7 @@
 
   template<
       typename ``[link boost_asio.reference.ConnectHandler ConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       implementation_type & impl,
       const endpoint_type & peer_endpoint,
       ConnectHandler handler);
@@ -83881,9 +83650,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/seq_packet_socket_service.hpp]
+['Header: ][^boost/asio/seq_packet_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -83952,9 +83721,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/seq_packet_socket_service.hpp]
+['Header: ][^boost/asio/seq_packet_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -84086,9 +83855,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/seq_packet_socket_service.hpp]
+['Header: ][^boost/asio/seq_packet_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -84161,9 +83930,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/seq_packet_socket_service.hpp]
+['Header: ][^boost/asio/seq_packet_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -84253,9 +84022,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/seq_packet_socket_service.hpp]
+['Header: ][^boost/asio/seq_packet_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -84573,9 +84342,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/serial_port.hpp]
+['Header: ][^boost/asio/serial_port.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -84644,9 +84413,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/serial_port_base.hpp]
+['Header: ][^boost/asio/serial_port_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:_serial_port_base serial_port_base::~serial_port_base]
@@ -84704,9 +84473,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/serial_port_base.hpp]
+['Header: ][^boost/asio/serial_port_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:baud_rate serial_port_base::baud_rate::baud_rate]
@@ -84803,9 +84572,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/serial_port_base.hpp]
+['Header: ][^boost/asio/serial_port_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:character_size serial_port_base::character_size::character_size]
@@ -84915,9 +84684,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/serial_port_base.hpp]
+['Header: ][^boost/asio/serial_port_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:flow_control serial_port_base::flow_control::flow_control]
@@ -85063,9 +84832,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/serial_port_base.hpp]
+['Header: ][^boost/asio/serial_port_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:load serial_port_base::parity::load]
@@ -85211,9 +84980,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/serial_port_base.hpp]
+['Header: ][^boost/asio/serial_port_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:load serial_port_base::stop_bits::load]
@@ -85463,9 +85232,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/serial_port_service.hpp]
+['Header: ][^boost/asio/serial_port_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:assign serial_port_service::assign]
@@ -85494,7 +85263,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_some(
       implementation_type & impl,
       const MutableBufferSequence & buffers,
       ReadHandler handler);
@@ -85514,7 +85283,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_some(
       implementation_type & impl,
       const ConstBufferSequence & buffers,
       WriteHandler handler);
@@ -85649,9 +85418,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/serial_port_service.hpp]
+['Header: ][^boost/asio/serial_port_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -85748,9 +85517,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/serial_port_service.hpp]
+['Header: ][^boost/asio/serial_port_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -85769,9 +85538,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/serial_port_service.hpp]
+['Header: ][^boost/asio/serial_port_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -85907,9 +85676,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/io_service.hpp]
+['Header: ][^boost/asio/io_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:service_already_exists service_already_exists::service_already_exists]
@@ -86100,9 +85869,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/signal_set.hpp]
+['Header: ][^boost/asio/signal_set.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -86195,9 +85964,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/signal_set_service.hpp]
+['Header: ][^boost/asio/signal_set_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:add signal_set_service::add]
@@ -86223,7 +85992,7 @@
 
   template<
       typename ``[link boost_asio.reference.SignalHandler SignalHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_wait(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_wait(
       implementation_type & impl,
       SignalHandler handler);
 
@@ -86338,9 +86107,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/signal_set_service.hpp]
+['Header: ][^boost/asio/signal_set_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -86577,9 +86346,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_acceptor_service.hpp]
+['Header: ][^boost/asio/socket_acceptor_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:accept socket_acceptor_service::accept]
@@ -86632,7 +86401,7 @@
       typename ``[link boost_asio.reference.Protocol Protocol1]``,
       typename ``[link boost_asio.reference.SocketService SocketService]``,
       typename ``[link boost_asio.reference.AcceptHandler AcceptHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_accept(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_accept(
       implementation_type & impl,
       basic_socket< Protocol1, SocketService > & peer,
       endpoint_type * peer_endpoint,
@@ -86755,9 +86524,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_acceptor_service.hpp]
+['Header: ][^boost/asio/socket_acceptor_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -86826,9 +86595,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_acceptor_service.hpp]
+['Header: ][^boost/asio/socket_acceptor_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -86977,9 +86746,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_acceptor_service.hpp]
+['Header: ][^boost/asio/socket_acceptor_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87052,9 +86821,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_acceptor_service.hpp]
+['Header: ][^boost/asio/socket_acceptor_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87144,9 +86913,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_acceptor_service.hpp]
+['Header: ][^boost/asio/socket_acceptor_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87353,9 +87122,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:broadcast socket_base::broadcast]
@@ -87400,9 +87169,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87440,9 +87209,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87491,9 +87260,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87542,9 +87311,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87593,9 +87362,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87644,9 +87413,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87696,9 +87465,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87759,9 +87528,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87826,9 +87595,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87877,9 +87646,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87928,9 +87697,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -87979,9 +87748,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -88030,9 +87799,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -88081,9 +87850,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/socket_base.hpp]
+['Header: ][^boost/asio/socket_base.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -88147,7 +87916,9 @@
 [section:spawn spawn]
 
 [indexterm1 spawn]
-
+Start a new stackful coroutine.
+
+
   template<
       typename ``[link boost_asio.reference.Handler Handler]``,
       typename Function>
@@ -88182,16 +87953,50 @@
       const boost::coroutines::attributes & attributes = boost::coroutines::attributes());
   `` [''''&raquo;''' [link boost_asio.reference.spawn.overload4 more...]]``
 
+The `spawn()` function is a high-level wrapper over the Boost.Coroutine library. This function enables programs to implement asynchronous logic in a synchronous manner, as illustrated by the following example:
+
+
+
+ boost::asio::spawn(my_strand, do_echo);
+
+ // ...
+
+ void do_echo(boost::asio::yield_context yield)
+ {
+ try
+ {
+ char data[128];
+ for (;;)
+ {
+ std::size_t length =
+ my_socket.async_read_some(
+ boost::asio::buffer(data), yield);
+
+ boost::asio::async_write(my_socket,
+ boost::asio::buffer(data, length), yield);
+ }
+ }
+ catch (std::exception& e)
+ {
+ // ...
+ }
+ }
+
+
+
+
 [heading Requirements]
 
-[*Header: ][^boost/asio/spawn.hpp]
+['Header: ][^boost/asio/spawn.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 spawn (1 of 4 overloads)]
 
 
+Start a new stackful coroutine, calling the specified handler when it completes.
+
 
   template<
       typename ``[link boost_asio.reference.Handler Handler]``,
@@ -88202,6 +88007,32 @@
       const boost::coroutines::attributes & attributes = boost::coroutines::attributes());
 
 
+This function is used to launch a new coroutine.
+
+
+[heading Parameters]
+
+
+[variablelist
+
+[[handler][A handler to be called when the coroutine exits. More importantly, the handler provides an execution context (via the the handler invocation hook) for the coroutine. The handler must have the signature:
+``
+ void handler();
+``
+]]
+
+[[function][The coroutine function. The function must have the signature:
+``
+ void function(basic_yield_context<Handler> yield);
+``
+]]
+
+[[attributes][Boost.Coroutine attributes used to customise the coroutine. ]]
+
+]
+
+
+
 
 [endsect]
 
@@ -88210,6 +88041,8 @@
 [section:overload2 spawn (2 of 4 overloads)]
 
 
+Start a new stackful coroutine, inheriting the execution context of another.
+
 
   template<
       typename ``[link boost_asio.reference.Handler Handler]``,
@@ -88220,6 +88053,28 @@
       const boost::coroutines::attributes & attributes = boost::coroutines::attributes());
 
 
+This function is used to launch a new coroutine.
+
+
+[heading Parameters]
+
+
+[variablelist
+
+[[ctx][Identifies the current coroutine as a parent of the new coroutine. This specifies that the new coroutine should inherit the execution context of the parent. For example, if the parent coroutine is executing in a particular strand, then the new coroutine will execute in the same strand.]]
+
+[[function][The coroutine function. The function must have the signature:
+``
+ void function(basic_yield_context<Handler> yield);
+``
+]]
+
+[[attributes][Boost.Coroutine attributes used to customise the coroutine. ]]
+
+]
+
+
+
 
 [endsect]
 
@@ -88228,6 +88083,8 @@
 [section:overload3 spawn (3 of 4 overloads)]
 
 
+Start a new stackful coroutine that executes in the contex of a strand.
+
 
   template<
       typename Function>
@@ -88237,6 +88094,28 @@
       const boost::coroutines::attributes & attributes = boost::coroutines::attributes());
 
 
+This function is used to launch a new coroutine.
+
+
+[heading Parameters]
+
+
+[variablelist
+
+[[strand][Identifies a strand. By starting multiple coroutines on the same strand, the implementation ensures that none of those coroutines can execute simultaneously.]]
+
+[[function][The coroutine function. The function must have the signature:
+``
+ void function(yield_context yield);
+``
+]]
+
+[[attributes][Boost.Coroutine attributes used to customise the coroutine. ]]
+
+]
+
+
+
 
 [endsect]
 
@@ -88245,6 +88124,8 @@
 [section:overload4 spawn (4 of 4 overloads)]
 
 
+Start a new stackful coroutine that executes on a given [link boost_asio.reference.io_service `io_service`].
+
 
   template<
       typename Function>
@@ -88254,6 +88135,28 @@
       const boost::coroutines::attributes & attributes = boost::coroutines::attributes());
 
 
+This function is used to launch a new coroutine.
+
+
+[heading Parameters]
+
+
+[variablelist
+
+[[io_service][Identifies the [link boost_asio.reference.io_service `io_service`] that will run the coroutine. The new coroutine is implicitly given its own strand within this [link boost_asio.reference.io_service `io_service`].]]
+
+[[function][The coroutine function. The function must have the signature:
+``
+ void function(yield_context yield);
+``
+]]
+
+[[attributes][Boost.Coroutine attributes used to customise the coroutine. ]]
+
+]
+
+
+
 
 [endsect]
 
@@ -88490,9 +88393,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/context.hpp]
+['Header: ][^boost/asio/ssl/context.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 [section:add_certificate_authority ssl::context::add_certificate_authority]
 
@@ -88962,9 +88865,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/context.hpp]
+['Header: ][^boost/asio/ssl/context.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -89225,9 +89128,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/context.hpp]
+['Header: ][^boost/asio/ssl/context.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -89341,9 +89244,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/context.hpp]
+['Header: ][^boost/asio/ssl/context.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -91148,9 +91051,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/context_base.hpp]
+['Header: ][^boost/asio/ssl/context_base.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [section:default_workarounds ssl::context_base::default_workarounds]
@@ -91395,9 +91298,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/context_base.hpp]
+['Header: ][^boost/asio/ssl/context_base.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -91539,9 +91442,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/rfc2818_verification.hpp]
+['Header: ][^boost/asio/ssl/rfc2818_verification.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [section:operator_lp__rp_ ssl::rfc2818_verification::operator()]
@@ -91572,9 +91475,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/rfc2818_verification.hpp]
+['Header: ][^boost/asio/ssl/rfc2818_verification.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -91781,9 +91684,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/stream.hpp]
+['Header: ][^boost/asio/ssl/stream.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 [section:async_handshake ssl::stream::async_handshake]
 
@@ -91793,7 +91696,7 @@
 
   template<
       typename ``[link boost_asio.reference.HandshakeHandler HandshakeHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.ssl__stream.async_handshake.overload1 async_handshake]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.ssl__stream.async_handshake.overload1 async_handshake]``(
       handshake_type type,
       HandshakeHandler handler);
   `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.async_handshake.overload1 more...]]``
@@ -91801,7 +91704,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.BufferedHandshakeHandler BufferedHandshakeHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` ``[link boost_asio.reference.ssl__stream.async_handshake.overload2 async_handshake]``(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` ``[link boost_asio.reference.ssl__stream.async_handshake.overload2 async_handshake]``(
       handshake_type type,
       const ConstBufferSequence & buffers,
       BufferedHandshakeHandler handler);
@@ -91816,7 +91719,7 @@
 
   template<
       typename ``[link boost_asio.reference.HandshakeHandler HandshakeHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_handshake(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_handshake(
       handshake_type type,
       HandshakeHandler handler);
 
@@ -91857,7 +91760,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.BufferedHandshakeHandler BufferedHandshakeHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_handshake(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_handshake(
       handshake_type type,
       const ConstBufferSequence & buffers,
       BufferedHandshakeHandler handler);
@@ -91904,7 +91807,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_some(
       const MutableBufferSequence & buffers,
       ReadHandler handler);
 
@@ -91950,7 +91853,7 @@
 
   template<
       typename ``[link boost_asio.reference.ShutdownHandler ShutdownHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_shutdown(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_shutdown(
       ShutdownHandler handler);
 
 
@@ -91988,7 +91891,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_some(
       const ConstBufferSequence & buffers,
       WriteHandler handler);
 
@@ -92293,9 +92196,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/stream.hpp]
+['Header: ][^boost/asio/ssl/stream.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -92374,9 +92277,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/stream.hpp]
+['Header: ][^boost/asio/ssl/stream.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -92433,9 +92336,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/stream.hpp]
+['Header: ][^boost/asio/ssl/stream.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -92514,9 +92417,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/stream.hpp]
+['Header: ][^boost/asio/ssl/stream.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -93215,9 +93118,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/stream.hpp]
+['Header: ][^boost/asio/ssl/stream.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [section:ssl ssl::stream::impl_struct::ssl]
@@ -93269,9 +93172,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/stream_base.hpp]
+['Header: ][^boost/asio/ssl/stream_base.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [section:handshake_type ssl::stream_base::handshake_type]
@@ -93334,9 +93237,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/verify_mode.hpp]
+['Header: ][^boost/asio/ssl/verify_mode.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -93390,9 +93293,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/verify_context.hpp]
+['Header: ][^boost/asio/ssl/verify_context.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [section:native_handle ssl::verify_context::native_handle]
@@ -93423,9 +93326,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/verify_context.hpp]
+['Header: ][^boost/asio/ssl/verify_context.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -93461,9 +93364,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/verify_mode.hpp]
+['Header: ][^boost/asio/ssl/verify_mode.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -93495,9 +93398,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/verify_mode.hpp]
+['Header: ][^boost/asio/ssl/verify_mode.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -93515,9 +93418,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/verify_mode.hpp]
+['Header: ][^boost/asio/ssl/verify_mode.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -93535,9 +93438,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/verify_mode.hpp]
+['Header: ][^boost/asio/ssl/verify_mode.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [endsect]
@@ -93796,9 +93699,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/steady_timer.hpp]
+['Header: ][^boost/asio/steady_timer.hpp]
 
-[*Convenience header: ]None
+['Convenience header: ]None
 
 
 [endsect]
@@ -93914,9 +93817,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/strand.hpp]
+['Header: ][^boost/asio/strand.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -94153,9 +94056,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/stream_socket_service.hpp]
+['Header: ][^boost/asio/stream_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:assign stream_socket_service::assign]
@@ -94184,7 +94087,7 @@
 
   template<
       typename ``[link boost_asio.reference.ConnectHandler ConnectHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_connect(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_connect(
       implementation_type & impl,
       const endpoint_type & peer_endpoint,
       ConnectHandler handler);
@@ -94204,7 +94107,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_receive(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_receive(
       implementation_type & impl,
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
@@ -94225,7 +94128,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_send(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_send(
       implementation_type & impl,
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
@@ -94396,9 +94299,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/stream_socket_service.hpp]
+['Header: ][^boost/asio/stream_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -94467,9 +94370,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/stream_socket_service.hpp]
+['Header: ][^boost/asio/stream_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -94601,9 +94504,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/stream_socket_service.hpp]
+['Header: ][^boost/asio/stream_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -94676,9 +94579,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/stream_socket_service.hpp]
+['Header: ][^boost/asio/stream_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -94768,9 +94671,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/stream_socket_service.hpp]
+['Header: ][^boost/asio/stream_socket_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -95039,9 +94942,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/streambuf.hpp]
+['Header: ][^boost/asio/streambuf.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -95300,9 +95203,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/system_timer.hpp]
+['Header: ][^boost/asio/system_timer.hpp]
 
-[*Convenience header: ]None
+['Convenience header: ]None
 
 
 [endsect]
@@ -95371,9 +95274,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/time_traits.hpp]
+['Header: ][^boost/asio/time_traits.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:add time_traits< boost::posix_time::ptime >::add]
@@ -95404,9 +95307,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/time_traits.hpp]
+['Header: ][^boost/asio/time_traits.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -95471,9 +95374,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/time_traits.hpp]
+['Header: ][^boost/asio/time_traits.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -95535,9 +95438,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/completion_condition.hpp]
+['Header: ][^boost/asio/completion_condition.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -95582,9 +95485,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/completion_condition.hpp]
+['Header: ][^boost/asio/completion_condition.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -95629,9 +95532,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/completion_condition.hpp]
+['Header: ][^boost/asio/completion_condition.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -95641,15 +95544,19 @@
 [section:use_future use_future]
 
 [indexterm1 use_future]
+A special value, similar to std::nothrow.
+
 
   constexpr use_future_t use_future;
 
 
+See the documentation for [link boost_asio.reference.use_future_t `use_future_t`] for a usage example.
+
 [heading Requirements]
 
-[*Header: ][^boost/asio/use_future.hpp]
+['Header: ][^boost/asio/use_future.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -95658,6 +95565,8 @@
 [section:use_future_t use_future_t]
 
 
+Class used to specify that an asynchronous operation should return a future.
+
 
   template<
       typename Allocator = std::allocator<void>>
@@ -95683,26 +95592,40 @@
 
   [
     [[link boost_asio.reference.use_future_t.get_allocator [*get_allocator]]]
- []
+ [Obtain allocator. ]
   ]
   
   [
     [[link boost_asio.reference.use_future_t.operator_lb__rb_ [*operator\[\]]]]
- []
+ [Specify an alternate allocator. ]
   ]
   
   [
     [[link boost_asio.reference.use_future_t.use_future_t [*use_future_t]]]
- []
+ [Construct using default-constructed allocator.
+
+ Construct using specified allocator. ]
   ]
   
 ]
 
+The [link boost_asio.reference.use_future_t `use_future_t`] class is used to indicate that an asynchronous operation should return a std::future object. A [link boost_asio.reference.use_future_t `use_future_t`] object may be passed as a handler to an asynchronous operation, typically using the special value `boost::asio::use_future`. For example:
+
+
+
+ std::future<std::size_t> my_future
+ = my_socket.async_read_some(my_buffer, boost::asio::use_future);
+
+
+
+
+The initiating function (async\_read\_some in the above example) returns a future that will receive the result of the operation. If the operation completes with an error\_code indicating failure, it is converted into a system\_error and passed back to the caller via the future.
+
 [heading Requirements]
 
-[*Header: ][^boost/asio/use_future.hpp]
+['Header: ][^boost/asio/use_future.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:allocator_type use_future_t::allocator_type]
@@ -95715,9 +95638,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/use_future.hpp]
+['Header: ][^boost/asio/use_future.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -95727,6 +95650,8 @@
 [section:get_allocator use_future_t::get_allocator]
 
 [indexterm2 get_allocator..use_future_t]
+Obtain allocator.
+
 
   allocator_type get_allocator() const;
 
@@ -95739,9 +95664,11 @@
 [section:operator_lb__rb_ use_future_t::operator\[\]]
 
 [indexterm2 operator\[\]..use_future_t]
+Specify an alternate allocator.
+
 
   template<
- typename ``[link boost_asio.reference.OtherAllocator OtherAllocator]``>
+ typename OtherAllocator>
   use_future_t< OtherAllocator > operator[](
       const OtherAllocator & allocator) const;
 
@@ -95753,10 +95680,16 @@
 [section:use_future_t use_future_t::use_future_t]
 
 [indexterm2 use_future_t..use_future_t]
+Construct using default-constructed allocator.
+
 
   constexpr ``[link boost_asio.reference.use_future_t.use_future_t.overload1 use_future_t]``();
   `` [''''&raquo;''' [link boost_asio.reference.use_future_t.use_future_t.overload1 more...]]``
 
+
+Construct using specified allocator.
+
+
   explicit ``[link boost_asio.reference.use_future_t.use_future_t.overload2 use_future_t]``(
       const Allocator & allocator);
   `` [''''&raquo;''' [link boost_asio.reference.use_future_t.use_future_t.overload2 more...]]``
@@ -95765,6 +95698,8 @@
 [section:overload1 use_future_t::use_future_t (1 of 2 overloads)]
 
 
+Construct using default-constructed allocator.
+
 
   constexpr use_future_t();
 
@@ -95777,6 +95712,8 @@
 [section:overload2 use_future_t::use_future_t (2 of 2 overloads)]
 
 
+Construct using specified allocator.
+
 
   use_future_t(
       const Allocator & allocator);
@@ -95823,9 +95760,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/io_service.hpp]
+['Header: ][^boost/asio/io_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -95855,9 +95792,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/wait_traits.hpp]
+['Header: ][^boost/asio/wait_traits.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:to_wait_duration wait_traits::to_wait_duration]
@@ -96011,9 +95948,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/waitable_timer_service.hpp]
+['Header: ][^boost/asio/waitable_timer_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:async_wait waitable_timer_service::async_wait]
@@ -96022,7 +95959,7 @@
 
   template<
       typename ``[link boost_asio.reference.WaitHandler WaitHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_wait(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_wait(
       implementation_type & impl,
       WaitHandler handler);
 
@@ -96076,9 +96013,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/waitable_timer_service.hpp]
+['Header: ][^boost/asio/waitable_timer_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -96127,9 +96064,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/waitable_timer_service.hpp]
+['Header: ][^boost/asio/waitable_timer_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -96287,9 +96224,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/waitable_timer_service.hpp]
+['Header: ][^boost/asio/waitable_timer_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -96308,9 +96245,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/waitable_timer_service.hpp]
+['Header: ][^boost/asio/waitable_timer_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -96329,9 +96266,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/waitable_timer_service.hpp]
+['Header: ][^boost/asio/waitable_timer_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -96534,9 +96471,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_handle.hpp]
+['Header: ][^boost/asio/windows/basic_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign windows::basic_handle::assign]
 
@@ -97019,9 +96956,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_handle.hpp]
+['Header: ][^boost/asio/windows/basic_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -97269,9 +97206,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_handle.hpp]
+['Header: ][^boost/asio/windows/basic_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -97322,9 +97259,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_handle.hpp]
+['Header: ][^boost/asio/windows/basic_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -97343,9 +97280,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_handle.hpp]
+['Header: ][^boost/asio/windows/basic_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -97425,9 +97362,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_handle.hpp]
+['Header: ][^boost/asio/windows/basic_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -97620,9 +97557,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_object_handle.hpp]
+['Header: ][^boost/asio/windows/basic_object_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign windows::basic_object_handle::assign]
 
@@ -97687,7 +97624,7 @@
 
   template<
       typename ``[link boost_asio.reference.WaitHandler WaitHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_wait(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_wait(
       WaitHandler handler);
 
 
@@ -98160,9 +98097,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_object_handle.hpp]
+['Header: ][^boost/asio/windows/basic_object_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -98422,9 +98359,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_object_handle.hpp]
+['Header: ][^boost/asio/windows/basic_object_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -98481,9 +98418,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_object_handle.hpp]
+['Header: ][^boost/asio/windows/basic_object_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -98505,9 +98442,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_object_handle.hpp]
+['Header: ][^boost/asio/windows/basic_object_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -98587,9 +98524,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_object_handle.hpp]
+['Header: ][^boost/asio/windows/basic_object_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -98850,9 +98787,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
+['Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign windows::basic_random_access_handle::assign]
 
@@ -98918,7 +98855,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_some_at(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_some_at(
       uint64_t offset,
       const MutableBufferSequence & buffers,
       ReadHandler handler);
@@ -98978,7 +98915,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_some_at(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_some_at(
       uint64_t offset,
       const ConstBufferSequence & buffers,
       WriteHandler handler);
@@ -99473,9 +99410,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
+['Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -99735,9 +99672,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
+['Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -99794,9 +99731,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
+['Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -99815,9 +99752,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
+['Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -100031,9 +99968,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
+['Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -100357,9 +100294,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_stream_handle.hpp]
+['Header: ][^boost/asio/windows/basic_stream_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 [section:assign windows::basic_stream_handle::assign]
 
@@ -100425,7 +100362,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_some(
       const MutableBufferSequence & buffers,
       ReadHandler handler);
 
@@ -100482,7 +100419,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_some(
       const ConstBufferSequence & buffers,
       WriteHandler handler);
 
@@ -100974,9 +100911,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_stream_handle.hpp]
+['Header: ][^boost/asio/windows/basic_stream_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -101236,9 +101173,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_stream_handle.hpp]
+['Header: ][^boost/asio/windows/basic_stream_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -101295,9 +101232,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_stream_handle.hpp]
+['Header: ][^boost/asio/windows/basic_stream_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -101316,9 +101253,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_stream_handle.hpp]
+['Header: ][^boost/asio/windows/basic_stream_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -101524,9 +101461,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/basic_stream_handle.hpp]
+['Header: ][^boost/asio/windows/basic_stream_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -101830,9 +101767,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/object_handle.hpp]
+['Header: ][^boost/asio/windows/object_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -101952,9 +101889,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/object_handle_service.hpp]
+['Header: ][^boost/asio/windows/object_handle_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:assign windows::object_handle_service::assign]
@@ -101982,7 +101919,7 @@
 
   template<
       typename ``[link boost_asio.reference.WaitHandler WaitHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_wait(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_wait(
       implementation_type & impl,
       WaitHandler handler);
 
@@ -102097,9 +102034,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/object_handle_service.hpp]
+['Header: ][^boost/asio/windows/object_handle_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -102181,9 +102118,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/object_handle_service.hpp]
+['Header: ][^boost/asio/windows/object_handle_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -102284,9 +102221,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/overlapped_ptr.hpp]
+['Header: ][^boost/asio/windows/overlapped_ptr.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:complete windows::overlapped_ptr::complete]
@@ -102664,9 +102601,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/random_access_handle.hpp]
+['Header: ][^boost/asio/windows/random_access_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -102808,9 +102745,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/random_access_handle_service.hpp]
+['Header: ][^boost/asio/windows/random_access_handle_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:assign windows::random_access_handle_service::assign]
@@ -102839,7 +102776,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_some_at(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_some_at(
       implementation_type & impl,
       uint64_t offset,
       const MutableBufferSequence & buffers,
@@ -102860,7 +102797,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_some_at(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_some_at(
       implementation_type & impl,
       uint64_t offset,
       const ConstBufferSequence & buffers,
@@ -102977,9 +102914,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/random_access_handle_service.hpp]
+['Header: ][^boost/asio/windows/random_access_handle_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -103076,9 +103013,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/random_access_handle_service.hpp]
+['Header: ][^boost/asio/windows/random_access_handle_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -103097,9 +103034,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/random_access_handle_service.hpp]
+['Header: ][^boost/asio/windows/random_access_handle_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -103343,9 +103280,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/stream_handle.hpp]
+['Header: ][^boost/asio/windows/stream_handle.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -103487,9 +103424,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/stream_handle_service.hpp]
+['Header: ][^boost/asio/windows/stream_handle_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:assign windows::stream_handle_service::assign]
@@ -103518,7 +103455,7 @@
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
       typename ``[link boost_asio.reference.ReadHandler ReadHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_read_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_read_some(
       implementation_type & impl,
       const MutableBufferSequence & buffers,
       ReadHandler handler);
@@ -103538,7 +103475,7 @@
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
       typename ``[link boost_asio.reference.WriteHandler WriteHandler]``>
- ``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]`` async_write_some(
+ ``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]`` async_write_some(
       implementation_type & impl,
       const ConstBufferSequence & buffers,
       WriteHandler handler);
@@ -103654,9 +103591,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/stream_handle_service.hpp]
+['Header: ][^boost/asio/windows/stream_handle_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -103753,9 +103690,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/stream_handle_service.hpp]
+['Header: ][^boost/asio/windows/stream_handle_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -103774,9 +103711,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/windows/stream_handle_service.hpp]
+['Header: ][^boost/asio/windows/stream_handle_service.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -103922,9 +103859,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/write.hpp]
+['Header: ][^boost/asio/write.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 write (1 of 8 overloads)]
@@ -104591,9 +104528,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/write_at.hpp]
+['Header: ][^boost/asio/write_at.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 write_at (1 of 8 overloads)]
@@ -105197,6 +105134,8 @@
 [section:yield_context yield_context]
 
 [indexterm1 yield_context]
+Context object the represents the currently executing coroutine.
+
 
   typedef basic_yield_context< unspecified > yield_context;
 
@@ -105207,22 +105146,39 @@
 
   [
     [[link boost_asio.reference.basic_yield_context.basic_yield_context [*basic_yield_context]]]
- []
+ [Construct a yield context to represent the specified coroutine. ]
   ]
   
   [
     [[link boost_asio.reference.basic_yield_context.operator_lb__rb_ [*operator\[\]]]]
- []
+ [Return a yield context that sets the specified error_code. ]
   ]
   
 ]
 
+The [link boost_asio.reference.basic_yield_context `basic_yield_context`] class is used to represent the currently executing stackful coroutine. A [link boost_asio.reference.basic_yield_context `basic_yield_context`] may be passed as a handler to an asynchronous operation. For example:
+
+
+
+ template <typename Handler>
+ void my_coroutine(basic_yield_context<Handler> yield)
+ {
+ ...
+ std::size_t n = my_socket.async_read_some(buffer, yield);
+ ...
+ }
+
+
+
+
+The initiating function (async\_read\_some in the above example) suspends the current coroutine. The coroutine is resumed when the asynchronous operation completes, and the result of the operation is returned.
+
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/spawn.hpp]
+['Header: ][^boost/asio/spawn.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
@@ -105249,9 +105205,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:value boost::system::is_error_code_enum< boost::asio::error::addrinfo_errors >::value]
@@ -105289,9 +105245,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:value boost::system::is_error_code_enum< boost::asio::error::basic_errors >::value]
@@ -105329,9 +105285,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:value boost::system::is_error_code_enum< boost::asio::error::misc_errors >::value]
@@ -105369,9 +105325,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/error.hpp]
+['Header: ][^boost/asio/error.hpp]
 
-[*Convenience header: ][^boost/asio.hpp]
+['Convenience header: ][^boost/asio.hpp]
 
 
 [section:value boost::system::is_error_code_enum< boost::asio::error::netdb_errors >::value]
@@ -105409,9 +105365,9 @@
 
 [heading Requirements]
 
-[*Header: ][^boost/asio/ssl/error.hpp]
+['Header: ][^boost/asio/ssl/error.hpp]
 
-[*Convenience header: ][^boost/asio/ssl.hpp]
+['Convenience header: ][^boost/asio/ssl.hpp]
 
 
 [section:value boost::system::is_error_code_enum< boost::asio::error::ssl_errors >::value]

Modified: trunk/libs/asio/doc/reference.xsl
==============================================================================
--- trunk/libs/asio/doc/reference.xsl (original)
+++ trunk/libs/asio/doc/reference.xsl 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -194,7 +194,7 @@
   </xsl:variable>
   <xsl:choose>
     <xsl:when test="$type='void_or_deduced'">
- <xsl:text>``[link boost_asio.reference.asynchronous_operations.return_type ['void-or-deduced]]``</xsl:text>
+ <xsl:text>``[link boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function ['void-or-deduced]]``</xsl:text>
     </xsl:when>
     <xsl:otherwise>
       <xsl:value-of select="$type"/>
@@ -738,13 +738,13 @@
   <xsl:text>[heading Requirements]</xsl:text>
   <xsl:value-of select="$newline"/>
   <xsl:value-of select="$newline"/>
- <xsl:text>[*Header: ]</xsl:text>
+ <xsl:text>['Header: ]</xsl:text>
   <xsl:text>[^boost/asio/</xsl:text>
   <xsl:value-of select="substring-after($file, 'boost/asio/')"/>
   <xsl:text>]</xsl:text>
   <xsl:value-of select="$newline"/>
   <xsl:value-of select="$newline"/>
- <xsl:text>[*Convenience header: ]</xsl:text>
+ <xsl:text>['Convenience header: ]</xsl:text>
   <xsl:choose>
     <xsl:when test="contains($file, 'boost/asio/ssl')">
       <xsl:text>[^boost/asio/ssl.hpp]</xsl:text>
@@ -1464,6 +1464,9 @@
         <xsl:when test="declname = 'N'">
           <xsl:value-of select="declname"/>
         </xsl:when>
+ <xsl:when test="declname = 'OtherAllocator'">
+ <xsl:value-of select="declname"/>
+ </xsl:when>
         <xsl:when test="declname = 'PasswordCallback'">
           <xsl:value-of select="declname"/>
         </xsl:when>
@@ -1482,6 +1485,12 @@
         <xsl:when test="declname = 'SeqPacketSocketService1'">
           <xsl:value-of select="concat('``[link boost_asio.reference.SeqPacketSocketService ', declname, ']``')"/>
         </xsl:when>
+ <xsl:when test="declname = 'Signature'">
+ <xsl:value-of select="declname"/>
+ </xsl:when>
+ <xsl:when test="declname = 'SocketAcceptorService1' or declname = 'SocketAcceptorService2'">
+ <xsl:value-of select="concat('``[link boost_asio.reference.SocketAcceptorService ', declname, ']``')"/>
+ </xsl:when>
         <xsl:when test="declname = 'SocketService1' or declname = 'SocketService2'">
           <xsl:value-of select="concat('``[link boost_asio.reference.SocketService ', declname, ']``')"/>
         </xsl:when>

Modified: trunk/libs/asio/doc/requirements/asynchronous_operations.qbk
==============================================================================
--- trunk/libs/asio/doc/requirements/asynchronous_operations.qbk (original)
+++ trunk/libs/asio/doc/requirements/asynchronous_operations.qbk 2013-05-27 08:17:19 EDT (Mon, 27 May 2013)
@@ -173,8 +173,45 @@
 `asio_handler_invoke`. Multiple storage blocks may be allocated for a single
 asynchronous operation.
 
-[section:return_type Return type of an initiating function]
+[heading Return type of an initiating function]
 
-[endsect]
+By default, initiating functions return `void`. This is always the case when
+the handler is a function pointer, C++11 lambda, or a function object produced
+by `boost::bind` or `std::bind`.
+
+For other types, the return type may be customised via a two-step process:
+
+# A specialisation of the [link boost_asio.reference.handler_type `handler_type`]
+template, which is used to determine the true handler type based on the
+asynchronous operation's handler's signature.
+
+# A specialisation of the [link boost_asio.reference.async_result `async_result`]
+template, which is used both to determine the return type and to extract the
+return value from the handler.
+
+These two templates have been specialised to provide support for [link
+boost_asio.overview.core.spawn stackful coroutines] and the C++11 `std::future`
+class.
+
+As an example, consider what happens when enabling `std::future` support by
+using the `boost::asio::use_future` special value, as in:
+
+ std::future<std::size_t> length =
+ my_socket.async_read_some(my_buffer, boost::asio::use_future);
+
+When a handler signature has the form:
+
+ void handler(error_code ec, result_type result);
+
+the initiating function returns a `std::future` templated on `result_type`. In
+the above `async_read_some` example, this is `std::size_t`. If the asynchronous
+operation fails, the `error_code` is converted into a `system_error` exception
+and passed back to the caller through the future.
+
+Where a handler signature has the form:
+
+ void handler(error_code ec);
+
+the initiating function instead returns `std::future<void>`.
 
 [endsect]


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk