Update quick reference and fix up documentation.
diff --git a/asio/include/asio/execution_context.hpp b/asio/include/asio/execution_context.hpp
index 4aad249..15a7414 100644
--- a/asio/include/asio/execution_context.hpp
+++ b/asio/include/asio/execution_context.hpp
@@ -28,10 +28,12 @@
 class execution_context;
 class io_service;
 
-template <typename Service> Service& use_service(execution_context& e);
-template <typename Service> Service& use_service(io_service& i);
-template <typename Service> void add_service(execution_context& e, Service* s);
-template <typename Service> bool has_service(execution_context& e);
+#if !defined(GENERATING_DOCUMENTATION)
+template <typename Service> Service& use_service(execution_context&);
+template <typename Service> Service& use_service(io_service&);
+template <typename Service> void add_service(execution_context&, Service*);
+template <typename Service> bool has_service(execution_context&);
+#endif // !defined(ASIO_NO_DEPRECATED)
 
 namespace detail { class service_registry; }
 
diff --git a/asio/include/asio/executor.hpp b/asio/include/asio/executor.hpp
index e1286b2..45620ef 100644
--- a/asio/include/asio/executor.hpp
+++ b/asio/include/asio/executor.hpp
@@ -245,6 +245,7 @@
   }
 
 private:
+#if !defined(GENERATING_DOCUMENTATION)
   class function;
   template <typename, typename> class impl;
 
@@ -294,6 +295,7 @@
   }
 
   impl_base* impl_;
+#endif // !defined(ASIO_NO_DEPRECATED)
 };
 
 #if !defined(GENERATING_DOCUMENTATION)
diff --git a/asio/include/asio/impl/executor.hpp b/asio/include/asio/impl/executor.hpp
index 43add57..77f464c 100644
--- a/asio/include/asio/impl/executor.hpp
+++ b/asio/include/asio/impl/executor.hpp
@@ -28,6 +28,8 @@
 
 namespace asio {
 
+#if !defined(GENERATING_DOCUMENTATION)
+
 #if defined(ASIO_HAS_MOVE)
 
 // Lightweight, move-only function object wrapper.
@@ -377,6 +379,8 @@
     ? static_cast<Executor*>(impl_->target()) : 0;
 }
 
+#endif // !defined(ASIO_NO_DEPRECATED)
+
 } // namespace asio
 
 #include "asio/detail/pop_options.hpp"
diff --git a/asio/include/asio/spawn.hpp b/asio/include/asio/spawn.hpp
index 0bbfb61..978b904 100644
--- a/asio/include/asio/spawn.hpp
+++ b/asio/include/asio/spawn.hpp
@@ -238,8 +238,8 @@
 /**
  * This function is used to launch a new coroutine.
  *
- * @param io_service Identifies the executor that will run the coroutine. The
- * new coroutine is implicitly given its own strand within this executor.
+ * @param ex Identifies the executor that will run the coroutine. The new
+ * coroutine is implicitly given its own strand within this executor.
  *
  * @param function The coroutine function. The function must have the signature:
  * @code void function(yield_context yield); @endcode
@@ -257,7 +257,7 @@
 /**
  * This function is used to launch a new coroutine.
  *
- * @param io_service Identifies the strand that will run the coroutine.
+ * @param ex Identifies the strand that will run the coroutine.
  *
  * @param function The coroutine function. The function must have the signature:
  * @code void function(yield_context yield); @endcode
diff --git a/asio/src/doc/overview/posix.qbk b/asio/src/doc/overview/posix.qbk
index b56204d..7b805a0 100644
--- a/asio/src/doc/overview/posix.qbk
+++ b/asio/src/doc/overview/posix.qbk
@@ -138,7 +138,7 @@
 
 [link asio.reference.io_service.notify_fork io_service::notify_fork()],
 [link asio.reference.io_service.fork_event io_service::fork_event],
-[link asio.reference.io_service__service.fork_service io_service::service::fork_service()],
+[link asio.reference.execution_context__service.fork_service io_service::service::fork_service()],
 [link asio.examples.cpp03_examples.fork Fork examples].
 
 [endsect]
diff --git a/asio/src/doc/quickref.xml b/asio/src/doc/quickref.xml
index 793981c..e645dd0 100644
--- a/asio/src/doc/quickref.xml
+++ b/asio/src/doc/quickref.xml
@@ -26,36 +26,27 @@
         <entry valign="top">
           <bridgehead renderas="sect3">Classes</bridgehead>
           <simplelist type="vert" columns="1">
-            <member><link linkend="asio.reference.const_buffer">const_buffer</link></member>
-            <member><link linkend="asio.reference.const_buffers_1">const_buffers_1</link></member>
             <member><link linkend="asio.reference.coroutine">coroutine</link></member>
             <member><link linkend="asio.reference.error_code">error_code</link></member>
+            <member><link linkend="asio.reference.execution_context">execution_context</link></member>
+            <member><link linkend="asio.reference.execution_context__id">execution_context::id</link></member>
+            <member><link linkend="asio.reference.execution_context__service">execution_context::service</link></member>
+            <member><link linkend="asio.reference.executor_arg_t">executor_arg_t</link></member>
             <member><link linkend="asio.reference.invalid_service_owner">invalid_service_owner</link></member>
             <member><link linkend="asio.reference.io_service">io_service</link></member>
-            <member><link linkend="asio.reference.io_service__id">io_service::id</link></member>
+            <member><link linkend="asio.reference.io_service__executor_type">io_service::executor_type</link></member>
             <member><link linkend="asio.reference.io_service__service">io_service::service</link></member>
             <member><link linkend="asio.reference.io_service__strand">io_service::strand</link></member>
             <member><link linkend="asio.reference.io_service__work">io_service::work</link></member>
-            <member><link linkend="asio.reference.mutable_buffer">mutable_buffer</link></member>
-            <member><link linkend="asio.reference.mutable_buffers_1">mutable_buffers_1</link></member>
-            <member><link linkend="asio.reference.null_buffers">null_buffers</link></member>
             <member><link linkend="asio.reference.service_already_exists">service_already_exists</link></member>
-            <member><link linkend="asio.reference.streambuf">streambuf</link></member>
             <member><link linkend="asio.reference.system_error">system_error</link></member>
+            <member><link linkend="asio.reference.system_executor">system_executor</link></member>
             <member><link linkend="asio.reference.thread">thread</link></member>
+            <member><link linkend="asio.reference.thread_pool">thread_pool</link></member>
+            <member><link linkend="asio.reference.thread_pool__executor_type">thread_pool::executor_type</link></member>
             <member><link linkend="asio.reference.use_future_t">use_future_t</link></member>
             <member><link linkend="asio.reference.yield_context">yield_context</link></member>
           </simplelist>
-          <bridgehead renderas="sect3">Class Templates</bridgehead>
-          <simplelist type="vert" columns="1">
-            <member><link linkend="asio.reference.basic_io_object">basic_io_object</link></member>
-            <member><link linkend="asio.reference.basic_streambuf">basic_streambuf</link></member>
-            <member><link linkend="asio.reference.basic_yield_context">basic_yield_context</link></member>
-            <member><link linkend="asio.reference.buffered_read_stream">buffered_read_stream</link></member>
-            <member><link linkend="asio.reference.buffered_stream">buffered_stream</link></member>
-            <member><link linkend="asio.reference.buffered_write_stream">buffered_write_stream</link></member>
-            <member><link linkend="asio.reference.buffers_iterator">buffers_iterator</link></member>
-          </simplelist>
         </entry>
         <entry valign="top">
           <bridgehead renderas="sect3">Free Functions</bridgehead>
@@ -65,6 +56,110 @@
             <member><link linkend="asio.reference.asio_handler_deallocate">asio_handler_deallocate</link></member>
             <member><link linkend="asio.reference.asio_handler_invoke">asio_handler_invoke</link></member>
             <member><link linkend="asio.reference.asio_handler_is_continuation">asio_handler_is_continuation</link></member>
+            <member><link linkend="asio.reference.dispatch">dispatch</link></member>
+            <member><link linkend="asio.reference.defer">defer</link></member>
+            <member><link linkend="asio.reference.get_associated_allocator">get_associated_allocator</link></member>
+            <member><link linkend="asio.reference.get_associated_executor">get_associated_executor</link></member>
+            <member><link linkend="asio.reference.has_service">has_service</link></member>
+            <member><link linkend="asio.reference.make_work">make_work</link></member>
+            <member><link linkend="asio.reference.package">package</link></member>
+            <member><link linkend="asio.reference.post">post</link></member>
+            <member><link linkend="asio.reference.spawn">spawn</link></member>
+            <member><link linkend="asio.reference.use_service">use_service</link></member>
+            <member><link linkend="asio.reference.wrap">wrap</link></member>
+          </simplelist>
+        </entry>
+        <entry valign="top">
+          <bridgehead renderas="sect3">Class Templates</bridgehead>
+          <simplelist type="vert" columns="1">
+            <member><link linkend="asio.reference.async_completion">async_completion</link></member>
+            <member><link linkend="asio.reference.basic_io_object">basic_io_object</link></member>
+            <member><link linkend="asio.reference.basic_yield_context">basic_yield_context</link></member>
+            <member><link linkend="asio.reference.executor_work">executor_work</link></member>
+            <member><link linkend="asio.reference.executor_wrapper">executor_wrapper</link></member>
+            <member><link linkend="asio.reference.packaged_handler">packaged_handler</link></member>
+            <member><link linkend="asio.reference.packaged_token">packaged_token</link></member>
+            <member><link linkend="asio.reference.strand">strand</link></member>
+          </simplelist>
+          <bridgehead renderas="sect3">Special Values</bridgehead>
+          <simplelist type="vert" columns="1">
+            <member><link linkend="asio.reference.executor_arg">executor_arg</link></member>
+            <member><link linkend="asio.reference.use_future">use_future</link></member>
+          </simplelist>
+          <bridgehead renderas="sect3">Boost.Bind Placeholders</bridgehead>
+          <simplelist type="vert" columns="1">
+            <member><link linkend="asio.reference.placeholders__bytes_transferred">placeholders::bytes_transferred</link></member>
+            <member><link linkend="asio.reference.placeholders__error">placeholders::error</link></member>
+            <member><link linkend="asio.reference.placeholders__iterator">placeholders::iterator</link></member>
+            <member><link linkend="asio.reference.placeholders__signal_number">placeholders::signal_number</link></member>
+          </simplelist>
+        </entry>
+        <entry valign="top">
+          <bridgehead renderas="sect3">Error Codes</bridgehead>
+          <simplelist type="vert" columns="1">
+            <member><link linkend="asio.reference.error__basic_errors">error::basic_errors</link></member>
+            <member><link linkend="asio.reference.error__netdb_errors">error::netdb_errors</link></member>
+            <member><link linkend="asio.reference.error__addrinfo_errors">error::addrinfo_errors</link></member>
+            <member><link linkend="asio.reference.error__misc_errors">error::misc_errors</link></member>
+          </simplelist>
+          <bridgehead renderas="sect3">Type Traits</bridgehead>
+          <simplelist type="vert" columns="1">
+            <member><link linkend="asio.reference.associated_allocator">associated_allocator</link></member>
+            <member><link linkend="asio.reference.associated_executor">associated_executor</link></member>
+            <member><link linkend="asio.reference.async_result">async_result</link></member>
+            <member><link linkend="asio.reference.handler_type">handler_type</link></member>
+            <member><link linkend="asio.reference.is_executor">is_executor</link></member>
+            <member><link linkend="asio.reference.uses_executor">uses_executor</link></member>
+          </simplelist>
+          <bridgehead renderas="sect3">Type Requirements</bridgehead>
+          <simplelist type="vert" columns="1">
+            <member><link linkend="asio.reference.asynchronous_operations">Asynchronous operations</link></member>
+            <member><link linkend="asio.reference.CompletionHandler">CompletionHandler</link></member>
+            <member><link linkend="asio.reference.Executor">Executor</link></member>
+            <member><link linkend="asio.reference.Handler">Handler</link></member>
+            <member><link linkend="asio.reference.IoObjectService">IoObjectService</link></member>
+            <member><link linkend="asio.reference.Service">Service</link></member>
+          </simplelist>
+        </entry>
+      </row>
+    </tbody>
+  </tgroup>
+  <tgroup cols="4">
+    <colspec colname="a"/>
+    <colspec colname="b"/>
+    <colspec colname="c"/>
+    <colspec colname="d"/>
+    <thead>
+      <row>
+        <entry valign="center" namest="a" nameend="d">
+          <bridgehead renderas="sect2">Buffers and Buffer-Oriented Operations</bridgehead>
+        </entry>
+      </row>
+    </thead>
+    <tbody>
+      <row>
+        <entry valign="top">
+          <bridgehead renderas="sect3">Classes</bridgehead>
+          <simplelist type="vert" columns="1">
+            <member><link linkend="asio.reference.const_buffer">const_buffer</link></member>
+            <member><link linkend="asio.reference.const_buffers_1">const_buffers_1</link></member>
+            <member><link linkend="asio.reference.mutable_buffer">mutable_buffer</link></member>
+            <member><link linkend="asio.reference.mutable_buffers_1">mutable_buffers_1</link></member>
+            <member><link linkend="asio.reference.null_buffers">null_buffers</link> (deprecated)</member>
+            <member><link linkend="asio.reference.streambuf">streambuf</link></member>
+          </simplelist>
+          <bridgehead renderas="sect3">Class Templates</bridgehead>
+          <simplelist type="vert" columns="1">
+            <member><link linkend="asio.reference.basic_streambuf">basic_streambuf</link></member>
+            <member><link linkend="asio.reference.buffered_read_stream">buffered_read_stream</link></member>
+            <member><link linkend="asio.reference.buffered_stream">buffered_stream</link></member>
+            <member><link linkend="asio.reference.buffered_write_stream">buffered_write_stream</link></member>
+            <member><link linkend="asio.reference.buffers_iterator">buffers_iterator</link></member>
+          </simplelist>
+        </entry>
+        <entry valign="top">
+          <bridgehead renderas="sect3">Free Functions</bridgehead>
+          <simplelist type="vert" columns="1">
             <member><link linkend="asio.reference.async_read">async_read</link></member>
             <member><link linkend="asio.reference.async_read_at">async_read_at</link></member>
             <member><link linkend="asio.reference.async_read_until">async_read_until</link></member>
@@ -76,43 +171,22 @@
             <member><link linkend="asio.reference.buffer_size">buffer_size</link></member>
             <member><link linkend="asio.reference.buffers_begin">buffers_begin</link></member>
             <member><link linkend="asio.reference.buffers_end">buffers_end</link></member>
-            <member><link linkend="asio.reference.has_service">has_service</link></member>
             <member><link linkend="asio.reference.read">read</link></member>
             <member><link linkend="asio.reference.read_at">read_at</link></member>
             <member><link linkend="asio.reference.read_until">read_until</link></member>
-            <member><link linkend="asio.reference.spawn">spawn</link></member>
             <member><link linkend="asio.reference.transfer_all">transfer_all</link></member>
             <member><link linkend="asio.reference.transfer_at_least">transfer_at_least</link></member>
             <member><link linkend="asio.reference.transfer_exactly">transfer_exactly</link></member>
-            <member><link linkend="asio.reference.use_service">use_service</link></member>
             <member><link linkend="asio.reference.write">write</link></member>
             <member><link linkend="asio.reference.write_at">write_at</link></member>
           </simplelist>
         </entry>
         <entry valign="top">
-          <bridgehead renderas="sect3">Special Values</bridgehead>
-          <simplelist type="vert" columns="1">
-            <member><link linkend="asio.reference.use_future">use_future</link></member>
-          </simplelist>
-          <bridgehead renderas="sect3">Boost.Bind Placeholders</bridgehead>
-          <simplelist type="vert" columns="1">
-            <member><link linkend="asio.reference.placeholders__bytes_transferred">placeholders::bytes_transferred</link></member>
-            <member><link linkend="asio.reference.placeholders__error">placeholders::error</link></member>
-            <member><link linkend="asio.reference.placeholders__iterator">placeholders::iterator</link></member>
-            <member><link linkend="asio.reference.placeholders__signal_number">placeholders::signal_number</link></member>
-          </simplelist>
-          <bridgehead renderas="sect3">Error Codes</bridgehead>
-          <simplelist type="vert" columns="1">
-            <member><link linkend="asio.reference.error__basic_errors">error::basic_errors</link></member>
-            <member><link linkend="asio.reference.error__netdb_errors">error::netdb_errors</link></member>
-            <member><link linkend="asio.reference.error__addrinfo_errors">error::addrinfo_errors</link></member>
-            <member><link linkend="asio.reference.error__misc_errors">error::misc_errors</link></member>
-          </simplelist>
           <bridgehead renderas="sect3">Type Traits</bridgehead>
           <simplelist type="vert" columns="1">
-            <member><link linkend="asio.reference.async_result">async_result</link></member>
-            <member><link linkend="asio.reference.handler_type">handler_type</link></member>
+            <member><link linkend="asio.reference.is_const_buffer_sequence">is_const_buffer_sequence</link></member>
             <member><link linkend="asio.reference.is_match_condition">is_match_condition</link></member>
+            <member><link linkend="asio.reference.is_mutable_buffer_sequence">is_mutable_buffer_sequence</link></member>
             <member><link linkend="asio.reference.is_read_buffered">is_read_buffered</link></member>
             <member><link linkend="asio.reference.is_write_buffered">is_write_buffered</link></member>
           </simplelist>
@@ -120,20 +194,15 @@
         <entry valign="top">
           <bridgehead renderas="sect3">Type Requirements</bridgehead>
           <simplelist type="vert" columns="1">
-            <member><link linkend="asio.reference.asynchronous_operations">Asynchronous operations</link></member>
             <member><link linkend="asio.reference.AsyncRandomAccessReadDevice">AsyncRandomAccessReadDevice</link></member>
             <member><link linkend="asio.reference.AsyncRandomAccessWriteDevice">AsyncRandomAccessWriteDevice</link></member>
             <member><link linkend="asio.reference.AsyncReadStream">AsyncReadStream</link></member>
             <member><link linkend="asio.reference.AsyncWriteStream">AsyncWriteStream</link></member>
-            <member><link linkend="asio.reference.CompletionHandler">CompletionHandler</link></member>
             <member><link linkend="asio.reference.ConstBufferSequence">ConstBufferSequence</link></member>
             <member><link linkend="asio.reference.ConvertibleToConstBuffer">ConvertibleToConstBuffer</link></member>
             <member><link linkend="asio.reference.ConvertibleToMutableBuffer">ConvertibleToMutableBuffer</link></member>
-            <member><link linkend="asio.reference.Handler">Handler</link></member>
-            <member><link linkend="asio.reference.IoObjectService">IoObjectService</link></member>
             <member><link linkend="asio.reference.MutableBufferSequence">MutableBufferSequence</link></member>
             <member><link linkend="asio.reference.ReadHandler">ReadHandler</link></member>
-            <member><link linkend="asio.reference.Service">Service</link></member>
             <member><link linkend="asio.reference.SyncRandomAccessReadDevice">SyncRandomAccessReadDevice</link></member>
             <member><link linkend="asio.reference.SyncRandomAccessWriteDevice">SyncRandomAccessWriteDevice</link></member>
             <member><link linkend="asio.reference.SyncReadStream">SyncReadStream</link></member>
@@ -258,7 +327,6 @@
           <bridgehead renderas="sect3">I/O Control Commands</bridgehead>
           <simplelist type="vert" columns="1">
             <member><link linkend="asio.reference.socket_base.bytes_readable">socket_base::bytes_readable</link></member>
-            <member><link linkend="asio.reference.socket_base.non_blocking_io">socket_base::non_blocking_io</link></member>
           </simplelist>
           <bridgehead renderas="sect3">Type Requirements</bridgehead>
           <simplelist type="vert" columns="1">
diff --git a/asio/src/doc/reference.xsl b/asio/src/doc/reference.xsl
index 6cdf5fc..69eefdd 100644
--- a/asio/src/doc/reference.xsl
+++ b/asio/src/doc/reference.xsl
@@ -106,7 +106,7 @@
             contains(compoundname, 'asio::') and
             not(contains(compoundname, '::detail')) and
             not(contains(compoundname, '::service::key')) and
-            not(contains(compoundname, '_handler'))">
+            (contains(compoundname, 'packaged_handler') or not(contains(compoundname, '_handler')))">
           <xsl:call-template name="class"/>
         </xsl:if>
       </xsl:when>
@@ -981,7 +981,7 @@
 ]
 </xsl:if>
 
-<xsl:if test="$class-name = 'io_service::service'">
+<xsl:if test="$class-name = 'execution_context::service'">
 <xsl:if test="count(sectiondef[@kind='private-func']) > 0">
 [heading Private Member Functions]
 [table
@@ -1170,7 +1170,7 @@
   <xsl:with-param name="class-id" select="$class-id"/>
   <xsl:with-param name="class-file" select="$class-file"/>
 </xsl:apply-templates>
-<xsl:if test="$class-name = 'io_service::service'">
+<xsl:if test="$class-name = 'execution_context::service'">
   <xsl:apply-templates select="sectiondef[@kind='private-func']/memberdef[not(type = 'friend class') and not(contains(name, '_helper'))]" mode="class-detail">
     <xsl:sort select="name"/>
     <xsl:with-param name="class-name" select="$class-name"/>
@@ -1450,6 +1450,9 @@
         <xsl:when test="declname = 'CompletionCondition'">
           <xsl:value-of select="declname"/>
         </xsl:when>
+        <xsl:when test="declname = 'CompletionToken'">
+          <xsl:value-of select="declname"/>
+        </xsl:when>
         <xsl:when test="declname = 'ConnectCondition'">
           <xsl:value-of select="declname"/>
         </xsl:when>
@@ -1486,6 +1489,12 @@
         <xsl:when test="declname = 'OtherAllocator'">
           <xsl:value-of select="declname"/>
         </xsl:when>
+        <xsl:when test="declname = 'OtherExecutor'">
+          <xsl:value-of select="concat('``[link asio.reference.Executor ', declname, ']``')"/>
+        </xsl:when>
+        <xsl:when test="declname = 'OtherHandler'">
+          <xsl:value-of select="declname"/>
+        </xsl:when>
         <xsl:when test="declname = 'PasswordCallback'">
           <xsl:value-of select="declname"/>
         </xsl:when>
@@ -1537,6 +1546,9 @@
         <xsl:when test="declname = 'Traits'">
           <xsl:value-of select="declname"/>
         </xsl:when>
+        <xsl:when test="declname = 'U'">
+          <xsl:value-of select="declname"/>
+        </xsl:when>
         <xsl:when test="declname = 'VerifyCallback'">
           <xsl:value-of select="declname"/>
         </xsl:when>
diff --git a/asio/src/doc/requirements/Executor.qbk b/asio/src/doc/requirements/Executor.qbk
index d020705..4429627 100644
--- a/asio/src/doc/requirements/Executor.qbk
+++ b/asio/src/doc/requirements/Executor.qbk
@@ -1,4 +1,11 @@
-[section:executor Executor requirements]
+[/
+ / Copyright (c) 2003-2014 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:Executor Executor requirements]
 
 The library describes a standard set of requirements for ['executors]. A type
 meeting Executor requirements shall embody a set of rules for determining how
@@ -44,8 +51,8 @@
      \n
      Returns `true` only if `x1` and `x2` can be interchanged with identical
      effects in any of the expressions defined in these type requirements.
-     [inline_note `false` does not necessarily imply that the effects are not
-     identical.]\n
+     Note: `false` does not necessarily imply that the effects are not
+     identical.\n
      \n
      `operator==` shall be reflexive, symmetric, and transitive, and shall not
      exit via an exception.]