Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r54499 - in branches/release: . boost/asio boost/asio/detail boost/asio/impl boost/asio/ip/detail boost/asio/ssl/detail libs/asio/doc libs/asio/example/echo libs/asio/example/http/server libs/asio/example/http/server2 libs/asio/example/http/server3 libs/asio/example/local libs/asio/example/porthopper libs/asio/example/services libs/asio/example/timeouts libs/asio/test
From: chris_at_[hidden]
Date: 2009-06-29 09:36:13


Author: chris_kohlhoff
Date: 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
New Revision: 54499
URL: http://svn.boost.org/trac/boost/changeset/54499

Log:
Merge from trunk. Fixes #3095, #3216, #3098, #3107, #1341, #2754, #3157, #2620, #2618.

........
  r54373 | chris_kohlhoff | 2009-06-26 21:03:14 +1000 (Fri, 26 Jun 2009) | 2 lines
  
  Fix doc generation for array reference parameters.
........
  r54376 | chris_kohlhoff | 2009-06-26 23:35:04 +1000 (Fri, 26 Jun 2009) | 2 lines
  
  Fix bug in hash resize. Ref #3095.
........
  r54377 | chris_kohlhoff | 2009-06-26 23:55:24 +1000 (Fri, 26 Jun 2009) | 3 lines
  
  Remove a local variable that was hiding the ec parameter and preventing
  error codes from being correctly propagated. Ref #3216.
........
  r54390 | chris_kohlhoff | 2009-06-27 12:17:49 +1000 (Sat, 27 Jun 2009) | 2 lines
  
  Fix failures reported when the tests are built with _GLIBCXX_DEBUG. Ref #3098.
........
  r54392 | chris_kohlhoff | 2009-06-27 15:24:16 +1000 (Sat, 27 Jun 2009) | 2 lines
  
  Fix custom memory allocation for timers. Ref #3107.
........
  r54393 | chris_kohlhoff | 2009-06-27 17:07:40 +1000 (Sat, 27 Jun 2009) | 2 lines
  
  Fix various g++ warnings. Ref #1341.
........
  r54400 | chris_kohlhoff | 2009-06-27 17:52:11 +1000 (Sat, 27 Jun 2009) | 4 lines
  
  Use boost::throw_exception() rather than throw keyword to allow asio to be
  used when exception support is disabled. Note that the SSL wrappers still
  require exception support. Refs #2754.
........
  r54407 | chris_kohlhoff | 2009-06-27 19:13:24 +1000 (Sat, 27 Jun 2009) | 2 lines
  
  Make links to function overloads more obvious.
........
  r54466 | chris_kohlhoff | 2009-06-28 23:07:43 +1000 (Sun, 28 Jun 2009) | 2 lines
  
  Add header file information to reference docs. Refs #3157.
........
  r54467 | chris_kohlhoff | 2009-06-28 23:20:17 +1000 (Sun, 28 Jun 2009) | 4 lines
  
  Treat 0-byte reads and writes as no-ops to comply with the documented type
  requirements for SyncReadStream, AsyncReadStream, SyncWriteStream and
  AsyncWriteStream.
........
  r54498 | chris_kohlhoff | 2009-06-29 19:32:41 +1000 (Mon, 29 Jun 2009) | 2 lines
  
  Add enum values to doc index. Refs #2620.
........

Properties modified:
   branches/release/ (props changed)
Text files modified:
   branches/release/boost/asio/basic_streambuf.hpp | 4
   branches/release/boost/asio/buffered_read_stream.hpp | 43
   branches/release/boost/asio/buffered_write_stream.hpp | 43
   branches/release/boost/asio/detail/hash_map.hpp | 8
   branches/release/boost/asio/detail/reactive_socket_service.hpp | 1
   branches/release/boost/asio/detail/socket_option.hpp | 16
   branches/release/boost/asio/detail/timer_queue.hpp | 10
   branches/release/boost/asio/impl/serial_port_base.ipp | 24
   branches/release/boost/asio/ip/detail/socket_option.hpp | 34
   branches/release/boost/asio/ssl/detail/openssl_init.hpp | 9
   branches/release/boost/asio/ssl/detail/openssl_stream_service.hpp | 10
   branches/release/libs/asio/doc/reference.qbk | 3412 +++++++++++++++++++++++++++++++++++++++
   branches/release/libs/asio/doc/reference.xsl | 99 +
   branches/release/libs/asio/example/echo/async_udp_echo_server.cpp | 3
   branches/release/libs/asio/example/http/server/request_handler.cpp | 2
   branches/release/libs/asio/example/http/server/request_parser.cpp | 2
   branches/release/libs/asio/example/http/server2/request_handler.cpp | 2
   branches/release/libs/asio/example/http/server2/request_parser.cpp | 2
   branches/release/libs/asio/example/http/server3/request_handler.cpp | 2
   branches/release/libs/asio/example/http/server3/request_parser.cpp | 2
   branches/release/libs/asio/example/local/connect_pair.cpp | 2
   branches/release/libs/asio/example/porthopper/server.cpp | 2
   branches/release/libs/asio/example/services/logger_service.hpp | 2
   branches/release/libs/asio/example/timeouts/datagram_receive_timeout.cpp | 3
   branches/release/libs/asio/test/buffers_iterator.cpp | 36
   branches/release/libs/asio/test/deadline_timer.cpp | 78
   branches/release/libs/asio/test/read.cpp | 4
   branches/release/libs/asio/test/read_at.cpp | 4
   branches/release/libs/asio/test/write.cpp | 4
   branches/release/libs/asio/test/write_at.cpp | 4
   30 files changed, 3789 insertions(+), 78 deletions(-)

Modified: branches/release/boost/asio/basic_streambuf.hpp
==============================================================================
--- branches/release/boost/asio/basic_streambuf.hpp (original)
+++ branches/release/boost/asio/basic_streambuf.hpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -25,6 +25,7 @@
 #include <stdexcept>
 #include <streambuf>
 #include <vector>
+#include <boost/throw_exception.hpp>
 #include <boost/asio/detail/pop_options.hpp>
 
 #include <boost/asio/buffer.hpp>
@@ -318,7 +319,8 @@
       }
       else
       {
- throw std::length_error("boost::asio::streambuf too long");
+ std::length_error ex("boost::asio::streambuf too long");
+ boost::throw_exception(ex);
       }
     }
 

Modified: branches/release/boost/asio/buffered_read_stream.hpp
==============================================================================
--- branches/release/boost/asio/buffered_read_stream.hpp (original)
+++ branches/release/boost/asio/buffered_read_stream.hpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -230,8 +230,21 @@
   template <typename MutableBufferSequence>
   std::size_t read_some(const MutableBufferSequence& buffers)
   {
+ typename MutableBufferSequence::const_iterator iter = buffers.begin();
+ typename MutableBufferSequence::const_iterator end = buffers.end();
+ size_t total_buffer_size = 0;
+ for (; iter != end; ++iter)
+ {
+ boost::asio::mutable_buffer buffer(*iter);
+ total_buffer_size += boost::asio::buffer_size(buffer);
+ }
+
+ if (total_buffer_size == 0)
+ return 0;
+
     if (storage_.empty())
       fill();
+
     return copy(buffers);
   }
 
@@ -242,8 +255,22 @@
       boost::system::error_code& ec)
   {
     ec = boost::system::error_code();
+
+ typename MutableBufferSequence::const_iterator iter = buffers.begin();
+ typename MutableBufferSequence::const_iterator end = buffers.end();
+ size_t total_buffer_size = 0;
+ for (; iter != end; ++iter)
+ {
+ boost::asio::mutable_buffer buffer(*iter);
+ total_buffer_size += boost::asio::buffer_size(buffer);
+ }
+
+ if (total_buffer_size == 0)
+ return 0;
+
     if (storage_.empty() && !fill(ec))
       return 0;
+
     return copy(buffers);
   }
 
@@ -306,7 +333,21 @@
   void async_read_some(const MutableBufferSequence& buffers,
       ReadHandler handler)
   {
- if (storage_.empty())
+ typename MutableBufferSequence::const_iterator iter = buffers.begin();
+ typename MutableBufferSequence::const_iterator end = buffers.end();
+ size_t total_buffer_size = 0;
+ for (; iter != end; ++iter)
+ {
+ boost::asio::mutable_buffer buffer(*iter);
+ total_buffer_size += boost::asio::buffer_size(buffer);
+ }
+
+ if (total_buffer_size == 0)
+ {
+ get_io_service().post(detail::bind_handler(
+ handler, boost::system::error_code(), 0));
+ }
+ else if (storage_.empty())
     {
       async_fill(read_some_handler<MutableBufferSequence, ReadHandler>(
             get_io_service(), storage_, buffers, handler));

Modified: branches/release/boost/asio/buffered_write_stream.hpp
==============================================================================
--- branches/release/boost/asio/buffered_write_stream.hpp (original)
+++ branches/release/boost/asio/buffered_write_stream.hpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -187,8 +187,21 @@
   template <typename ConstBufferSequence>
   std::size_t write_some(const ConstBufferSequence& buffers)
   {
+ typename ConstBufferSequence::const_iterator iter = buffers.begin();
+ typename ConstBufferSequence::const_iterator end = buffers.end();
+ size_t total_buffer_size = 0;
+ for (; iter != end; ++iter)
+ {
+ boost::asio::const_buffer buffer(*iter);
+ total_buffer_size += boost::asio::buffer_size(buffer);
+ }
+
+ if (total_buffer_size == 0)
+ return 0;
+
     if (storage_.size() == storage_.capacity())
       flush();
+
     return copy(buffers);
   }
 
@@ -199,8 +212,22 @@
       boost::system::error_code& ec)
   {
     ec = boost::system::error_code();
+
+ typename ConstBufferSequence::const_iterator iter = buffers.begin();
+ typename ConstBufferSequence::const_iterator end = buffers.end();
+ size_t total_buffer_size = 0;
+ for (; iter != end; ++iter)
+ {
+ boost::asio::const_buffer buffer(*iter);
+ total_buffer_size += boost::asio::buffer_size(buffer);
+ }
+
+ if (total_buffer_size == 0)
+ return 0;
+
     if (storage_.size() == storage_.capacity() && !flush(ec))
       return 0;
+
     return copy(buffers);
   }
 
@@ -264,7 +291,21 @@
   void async_write_some(const ConstBufferSequence& buffers,
       WriteHandler handler)
   {
- if (storage_.size() == storage_.capacity())
+ typename ConstBufferSequence::const_iterator iter = buffers.begin();
+ typename ConstBufferSequence::const_iterator end = buffers.end();
+ size_t total_buffer_size = 0;
+ for (; iter != end; ++iter)
+ {
+ boost::asio::const_buffer buffer(*iter);
+ total_buffer_size += boost::asio::buffer_size(buffer);
+ }
+
+ if (total_buffer_size == 0)
+ {
+ get_io_service().post(detail::bind_handler(
+ handler, boost::system::error_code(), 0));
+ }
+ else if (storage_.size() == storage_.capacity())
     {
       async_flush(write_some_handler<ConstBufferSequence, WriteHandler>(
             get_io_service(), storage_, buffers, handler));

Modified: branches/release/boost/asio/detail/hash_map.hpp
==============================================================================
--- branches/release/boost/asio/detail/hash_map.hpp (original)
+++ branches/release/boost/asio/detail/hash_map.hpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -231,9 +231,13 @@
       {
         buckets_[bucket].first = buckets_[bucket].last = iter++;
       }
+ else if (++buckets_[bucket].last == iter)
+ {
+ ++iter;
+ }
       else
       {
- values_.splice(++buckets_[bucket].last, values_, iter++);
+ values_.splice(buckets_[bucket].last, values_, iter++);
         --buckets_[bucket].last;
       }
     }
@@ -275,6 +279,8 @@
   // The type for a bucket in the hash table.
   struct bucket_type
   {
+ bucket_type() {}
+ bucket_type(const bucket_type&) { /* noop */ }
     iterator first;
     iterator last;
   };

Modified: branches/release/boost/asio/detail/reactive_socket_service.hpp
==============================================================================
--- branches/release/boost/asio/detail/reactive_socket_service.hpp (original)
+++ branches/release/boost/asio/detail/reactive_socket_service.hpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -1454,7 +1454,6 @@
     for (;;)
     {
       // Try to complete the operation without blocking.
- boost::system::error_code ec;
       socket_holder new_socket;
       std::size_t addr_len = 0;
       if (peer_endpoint)

Modified: branches/release/boost/asio/detail/socket_option.hpp
==============================================================================
--- branches/release/boost/asio/detail/socket_option.hpp (original)
+++ branches/release/boost/asio/detail/socket_option.hpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -21,6 +21,7 @@
 #include <cstddef>
 #include <stdexcept>
 #include <boost/config.hpp>
+#include <boost/throw_exception.hpp>
 #include <boost/asio/detail/pop_options.hpp>
 
 #include <boost/asio/detail/socket_types.hpp>
@@ -122,7 +123,10 @@
     case sizeof(value_):
       break;
     default:
- throw std::length_error("boolean socket option resize");
+ {
+ std::length_error ex("boolean socket option resize");
+ boost::throw_exception(ex);
+ }
     }
   }
 
@@ -200,7 +204,10 @@
   void resize(const Protocol&, std::size_t s)
   {
     if (s != sizeof(value_))
- throw std::length_error("integer socket option resize");
+ {
+ std::length_error ex("integer socket option resize");
+ boost::throw_exception(ex);
+ }
   }
 
 private:
@@ -294,7 +301,10 @@
   void resize(const Protocol&, std::size_t s)
   {
     if (s != sizeof(value_))
- throw std::length_error("linger socket option resize");
+ {
+ std::length_error ex("linger socket option resize");
+ boost::throw_exception(ex);
+ }
   }
 
 private:

Modified: branches/release/boost/asio/detail/timer_queue.hpp
==============================================================================
--- branches/release/boost/asio/detail/timer_queue.hpp (original)
+++ branches/release/boost/asio/detail/timer_queue.hpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -67,8 +67,10 @@
     heap_.reserve(heap_.size() + 1);
 
     // Create a new timer object.
- std::auto_ptr<timer<Handler> > new_timer(
- new timer<Handler>(time, handler, token));
+ typedef timer<Handler> timer_type;
+ typedef handler_alloc_traits<Handler, timer_type> alloc_traits;
+ raw_handler_ptr<alloc_traits> raw_ptr(handler);
+ handler_ptr<alloc_traits> new_timer(raw_ptr, time, handler, token);
 
     // Insert the new timer into the hash.
     typedef typename hash_map<void*, timer_base*>::iterator iterator;
@@ -78,12 +80,12 @@
     if (!result.second)
     {
       result.first->second->prev_ = new_timer.get();
- new_timer->next_ = result.first->second;
+ new_timer.get()->next_ = result.first->second;
       result.first->second = new_timer.get();
     }
 
     // Put the timer at the correct position in the heap.
- new_timer->heap_index_ = heap_.size();
+ new_timer.get()->heap_index_ = heap_.size();
     heap_.push_back(new_timer.get());
     up_heap(heap_.size() - 1);
     bool is_first = (heap_[0] == new_timer.get());

Modified: branches/release/boost/asio/impl/serial_port_base.ipp
==============================================================================
--- branches/release/boost/asio/impl/serial_port_base.ipp (original)
+++ branches/release/boost/asio/impl/serial_port_base.ipp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -18,6 +18,10 @@
 
 #include <boost/asio/detail/push_options.hpp>
 
+#include <boost/asio/detail/push_options.hpp>
+#include <boost/throw_exception.hpp>
+#include <boost/asio/detail/pop_options.hpp>
+
 namespace boost {
 namespace asio {
 
@@ -206,7 +210,10 @@
   : value_(t)
 {
   if (t != none && t != software && t != hardware)
- throw std::out_of_range("invalid flow_control value");
+ {
+ std::out_of_range ex("invalid flow_control value");
+ boost::throw_exception(ex);
+ }
 }
 
 inline serial_port_base::flow_control::type
@@ -314,7 +321,10 @@
   : value_(t)
 {
   if (t != none && t != odd && t != even)
- throw std::out_of_range("invalid parity value");
+ {
+ std::out_of_range ex("invalid parity value");
+ boost::throw_exception(ex);
+ }
 }
 
 inline serial_port_base::parity::type serial_port_base::parity::value() const
@@ -411,7 +421,10 @@
   : value_(t)
 {
   if (t != one && t != onepointfive && t != two)
- throw std::out_of_range("invalid stop_bits value");
+ {
+ std::out_of_range ex("invalid stop_bits value");
+ boost::throw_exception(ex);
+ }
 }
 
 inline serial_port_base::stop_bits::type
@@ -487,7 +500,10 @@
   : value_(t)
 {
   if (t < 5 || t > 8)
- throw std::out_of_range("invalid character_size value");
+ {
+ std::out_of_range ex("invalid character_size value");
+ boost::throw_exception(ex);
+ }
 }
 
 inline unsigned int serial_port_base::character_size::value() const

Modified: branches/release/boost/asio/ip/detail/socket_option.hpp
==============================================================================
--- branches/release/boost/asio/ip/detail/socket_option.hpp (original)
+++ branches/release/boost/asio/ip/detail/socket_option.hpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -21,6 +21,7 @@
 #include <cstddef>
 #include <cstring>
 #include <boost/config.hpp>
+#include <boost/throw_exception.hpp>
 #include <boost/asio/detail/pop_options.hpp>
 
 #include <boost/asio/ip/address.hpp>
@@ -142,8 +143,8 @@
     {
       if (s != sizeof(ipv6_value_))
       {
- throw std::length_error(
- "multicast_enable_loopback socket option resize");
+ std::length_error ex("multicast_enable_loopback socket option resize");
+ boost::throw_exception(ex);
       }
       ipv4_value_ = ipv6_value_ ? 1 : 0;
     }
@@ -151,8 +152,8 @@
     {
       if (s != sizeof(ipv4_value_))
       {
- throw std::length_error(
- "multicast_enable_loopback socket option resize");
+ std::length_error ex("multicast_enable_loopback socket option resize");
+ boost::throw_exception(ex);
       }
       ipv6_value_ = ipv4_value_ ? 1 : 0;
     }
@@ -237,7 +238,10 @@
   void resize(const Protocol&, std::size_t s)
   {
     if (s != sizeof(value_))
- throw std::length_error("unicast hops socket option resize");
+ {
+ std::length_error ex("unicast hops socket option resize");
+ boost::throw_exception(ex);
+ }
 #if defined(__hpux)
     if (value_ < 0)
       value_ = value_ & 0xFF;
@@ -271,7 +275,10 @@
   explicit multicast_hops(int v)
   {
     if (v < 0 || v > 255)
- throw std::out_of_range("multicast hops value out of range");
+ {
+ std::out_of_range ex("multicast hops value out of range");
+ boost::throw_exception(ex);
+ }
     ipv4_value_ = (ipv4_value_type)v;
     ipv6_value_ = v;
   }
@@ -280,7 +287,10 @@
   multicast_hops& operator=(int v)
   {
     if (v < 0 || v > 255)
- throw std::out_of_range("multicast hops value out of range");
+ {
+ std::out_of_range ex("multicast hops value out of range");
+ boost::throw_exception(ex);
+ }
     ipv4_value_ = (ipv4_value_type)v;
     ipv6_value_ = v;
     return *this;
@@ -344,7 +354,10 @@
     if (protocol.family() == PF_INET6)
     {
       if (s != sizeof(ipv6_value_))
- throw std::length_error("multicast hops socket option resize");
+ {
+ std::length_error ex("multicast hops socket option resize");
+ boost::throw_exception(ex);
+ }
       if (ipv6_value_ < 0)
         ipv4_value_ = 0;
       else if (ipv6_value_ > 255)
@@ -355,7 +368,10 @@
     else
     {
       if (s != sizeof(ipv4_value_))
- throw std::length_error("multicast hops socket option resize");
+ {
+ std::length_error ex("multicast hops socket option resize");
+ boost::throw_exception(ex);
+ }
       ipv6_value_ = ipv4_value_;
     }
   }

Modified: branches/release/boost/asio/ssl/detail/openssl_init.hpp
==============================================================================
--- branches/release/boost/asio/ssl/detail/openssl_init.hpp (original)
+++ branches/release/boost/asio/ssl/detail/openssl_init.hpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -19,6 +19,7 @@
 #include <boost/asio/detail/push_options.hpp>
 
 #include <boost/asio/detail/push_options.hpp>
+#include <cstring>
 #include <vector>
 #include <boost/assert.hpp>
 #include <boost/config.hpp>
@@ -100,7 +101,7 @@
     }
 
     static void openssl_locking_func(int mode, int n,
- const char *file, int line)
+ const char* /*file*/, int /*line*/)
     {
       if (mode & CRYPTO_LOCK)
         instance()->mutexes_[n]->lock();
@@ -122,7 +123,11 @@
   openssl_init()
     : ref_(do_init::instance())
   {
- while (&instance_ == 0); // Ensure openssl_init::instance_ is linked in.
+ using namespace std; // For memmove.
+
+ // Ensure openssl_init::instance_ is linked in.
+ openssl_init* tmp = &instance_;
+ memmove(&tmp, &tmp, sizeof(openssl_init*));
   }
 
   // Destructor.

Modified: branches/release/boost/asio/ssl/detail/openssl_stream_service.hpp
==============================================================================
--- branches/release/boost/asio/ssl/detail/openssl_stream_service.hpp (original)
+++ branches/release/boost/asio/ssl/detail/openssl_stream_service.hpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -184,7 +184,7 @@
 
   // Create a new stream implementation.
   template <typename Stream, typename Context_Service>
- void create(impl_type& impl, Stream& next_layer,
+ void create(impl_type& impl, Stream& /*next_layer*/,
       basic_context<Context_Service>& context)
   {
     impl = new impl_struct;
@@ -199,7 +199,7 @@
 
   // Destroy a stream implementation.
   template <typename Stream>
- void destroy(impl_type& impl, Stream& next_layer)
+ void destroy(impl_type& impl, Stream& /*next_layer*/)
   {
     if (impl != 0)
     {
@@ -475,8 +475,8 @@
 
   // Peek at the incoming data on the stream.
   template <typename Stream, typename Mutable_Buffers>
- std::size_t peek(impl_type& impl, Stream& next_layer,
- const Mutable_Buffers& buffers, boost::system::error_code& ec)
+ std::size_t peek(impl_type& /*impl*/, Stream& /*next_layer*/,
+ const Mutable_Buffers& /*buffers*/, boost::system::error_code& ec)
   {
     ec = boost::system::error_code();
     return 0;
@@ -484,7 +484,7 @@
 
   // Determine the amount of data that may be read without blocking.
   template <typename Stream>
- std::size_t in_avail(impl_type& impl, Stream& next_layer,
+ std::size_t in_avail(impl_type& /*impl*/, Stream& /*next_layer*/,
       boost::system::error_code& ec)
   {
     ec = boost::system::error_code();

Modified: branches/release/libs/asio/doc/reference.qbk
==============================================================================
--- branches/release/libs/asio/doc/reference.qbk (original)
+++ branches/release/libs/asio/doc/reference.qbk 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -98,6 +98,12 @@
 ]
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/io_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -149,6 +155,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/handler_alloc_hook.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -175,6 +187,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/handler_alloc_hook.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -221,6 +239,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/handler_invoke_hook.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -237,6 +261,7 @@
       AsyncReadStream & s,
       const MutableBufferSequence & buffers,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_read.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
@@ -248,6 +273,7 @@
       const MutableBufferSequence & buffers,
       CompletionCondition completion_condition,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_read.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
@@ -257,6 +283,7 @@
       AsyncReadStream & s,
       basic_streambuf< Allocator > & b,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_read.overload3 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
@@ -268,6 +295,13 @@
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_read.overload4 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/read.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 async_read (1 of 4 overloads)]
@@ -574,6 +608,7 @@
       boost::uint64_t offset,
       const MutableBufferSequence & buffers,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_read_at.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncRandomAccessReadDevice AsyncRandomAccessReadDevice]``,
@@ -586,6 +621,7 @@
       const MutableBufferSequence & buffers,
       CompletionCondition completion_condition,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_read_at.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncRandomAccessReadDevice AsyncRandomAccessReadDevice]``,
@@ -596,6 +632,7 @@
       boost::uint64_t offset,
       basic_streambuf< Allocator > & b,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_read_at.overload3 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncRandomAccessReadDevice AsyncRandomAccessReadDevice]``,
@@ -608,6 +645,13 @@
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_read_at.overload4 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/read_at.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 async_read_at (1 of 4 overloads)]
@@ -926,6 +970,7 @@
       boost::asio::basic_streambuf< Allocator > & b,
       char delim,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_read_until.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
@@ -936,6 +981,7 @@
       boost::asio::basic_streambuf< Allocator > & b,
       const std::string & delim,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_read_until.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
@@ -946,6 +992,7 @@
       boost::asio::basic_streambuf< Allocator > & b,
       const boost::regex & expr,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_read_until.overload3 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncReadStream AsyncReadStream]``,
@@ -958,6 +1005,13 @@
       MatchCondition match_condition,
       ReadHandler handler,
       typename boost::enable_if< is_match_condition< MatchCondition > >::type * = 0);
+ `` [''''&raquo;''' [link boost_asio.reference.async_read_until.overload4 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/read_until.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 async_read_until (1 of 4 overloads)]
@@ -1359,6 +1413,7 @@
       AsyncWriteStream & s,
       const ConstBufferSequence & buffers,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_write.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncWriteStream AsyncWriteStream]``,
@@ -1370,6 +1425,7 @@
       const ConstBufferSequence & buffers,
       CompletionCondition completion_condition,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_write.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncWriteStream AsyncWriteStream]``,
@@ -1379,6 +1435,7 @@
       AsyncWriteStream & s,
       basic_streambuf< Allocator > & b,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_write.overload3 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncWriteStream AsyncWriteStream]``,
@@ -1390,6 +1447,13 @@
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_write.overload4 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/write.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 async_write (1 of 4 overloads)]
@@ -1675,6 +1739,7 @@
       boost::uint64_t offset,
       const ConstBufferSequence & buffers,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_write_at.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncRandomAccessWriteDevice AsyncRandomAccessWriteDevice]``,
@@ -1687,6 +1752,7 @@
       const ConstBufferSequence & buffers,
       CompletionCondition completion_condition,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_write_at.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncRandomAccessWriteDevice AsyncRandomAccessWriteDevice]``,
@@ -1697,6 +1763,7 @@
       boost::uint64_t offset,
       basic_streambuf< Allocator > & b,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_write_at.overload3 more...]]``
 
   template<
       typename ``[link boost_asio.reference.AsyncRandomAccessWriteDevice AsyncRandomAccessWriteDevice]``,
@@ -1709,6 +1776,13 @@
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.async_write_at.overload4 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/write_at.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 async_write_at (1 of 4 overloads)]
@@ -2368,6 +2442,12 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:assign basic_datagram_socket::assign]
 
 [indexterm2 assign..basic_datagram_socket] Assign an existing native socket to the socket.
@@ -2375,11 +2455,13 @@
   void ``[link boost_asio.reference.basic_datagram_socket.assign.overload1 assign]``(
       const protocol_type & protocol,
       const native_type & native_socket);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.assign.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_datagram_socket.assign.overload2 assign]``(
       const protocol_type & protocol,
       const native_type & native_socket,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.assign.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::assign (1 of 2 overloads)]
@@ -2490,6 +2572,7 @@
   void ``[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...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
@@ -2498,6 +2581,7 @@
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.async_receive.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::async_receive (1 of 2 overloads)]
@@ -2612,6 +2696,7 @@
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.async_receive_from.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
@@ -2621,6 +2706,7 @@
       endpoint_type & sender_endpoint,
       socket_base::message_flags flags,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.async_receive_from.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::async_receive_from (1 of 2 overloads)]
@@ -2733,6 +2819,7 @@
   void ``[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...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
@@ -2741,6 +2828,7 @@
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.async_send.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::async_send (1 of 2 overloads)]
@@ -2855,6 +2943,7 @@
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.async_send_to.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
@@ -2864,6 +2953,7 @@
       const endpoint_type & destination,
       socket_base::message_flags flags,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.async_send_to.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::async_send_to (1 of 2 overloads)]
@@ -2973,9 +3063,11 @@
 [indexterm2 at_mark..basic_datagram_socket] Determine whether the socket is at the out-of-band data mark.
 
   bool ``[link boost_asio.reference.basic_datagram_socket.at_mark.overload1 at_mark]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.at_mark.overload1 more...]]``
 
   bool ``[link boost_asio.reference.basic_datagram_socket.at_mark.overload2 at_mark]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.at_mark.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::at_mark (1 of 2 overloads)]
@@ -3049,9 +3141,11 @@
 [indexterm2 available..basic_datagram_socket] Determine the number of bytes available for reading.
 
   std::size_t ``[link boost_asio.reference.basic_datagram_socket.available.overload1 available]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.available.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.basic_datagram_socket.available.overload2 available]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.available.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::available (1 of 2 overloads)]
@@ -3126,18 +3220,21 @@
 
   ``[link boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1 basic_datagram_socket]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1 more...]]``
 
 Construct and open a basic_datagram_socket.
 
   ``[link boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2 basic_datagram_socket]``(
       boost::asio::io_service & io_service,
       const protocol_type & protocol);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2 more...]]``
 
 Construct a basic_datagram_socket, opening it and binding it to the given local endpoint.
 
   ``[link boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3 basic_datagram_socket]``(
       boost::asio::io_service & io_service,
       const endpoint_type & endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3 more...]]``
 
 Construct a basic_datagram_socket on an existing native socket.
 
@@ -3145,6 +3242,7 @@
       boost::asio::io_service & io_service,
       const protocol_type & protocol,
       const native_type & native_socket);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4 more...]]``
 
 
 [section:overload1 basic_datagram_socket::basic_datagram_socket (1 of 4 overloads)]
@@ -3297,10 +3395,12 @@
 
   void ``[link boost_asio.reference.basic_datagram_socket.bind.overload1 bind]``(
       const endpoint_type & endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.bind.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_datagram_socket.bind.overload2 bind]``(
       const endpoint_type & endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.bind.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::bind (1 of 2 overloads)]
@@ -3442,6 +3542,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -3475,6 +3581,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -3484,9 +3596,11 @@
 [indexterm2 cancel..basic_datagram_socket] Cancel all asynchronous operations associated with the socket.
 
   void ``[link boost_asio.reference.basic_datagram_socket.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.cancel.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_datagram_socket.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.cancel.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::cancel (1 of 2 overloads)]
@@ -3584,9 +3698,11 @@
 [indexterm2 close..basic_datagram_socket] Close the socket.
 
   void ``[link boost_asio.reference.basic_datagram_socket.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_datagram_socket.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.close.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::close (1 of 2 overloads)]
@@ -3677,10 +3793,12 @@
 
   void ``[link boost_asio.reference.basic_datagram_socket.connect.overload1 connect]``(
       const endpoint_type & peer_endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.connect.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_datagram_socket.connect.overload2 connect]``(
       const endpoint_type & peer_endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.connect.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::connect (1 of 2 overloads)]
@@ -3826,6 +3944,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -3869,6 +3993,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -3912,6 +4042,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -3925,6 +4061,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -3958,10 +4100,12 @@
 
   void ``[link boost_asio.reference.basic_datagram_socket.get_option.overload1 get_option]``(
       GettableSocketOption & option) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.get_option.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_datagram_socket.get_option.overload2 get_option]``(
       GettableSocketOption & option,
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.get_option.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::get_option (1 of 2 overloads)]
@@ -4093,6 +4237,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -4103,10 +4253,12 @@
 
   void ``[link boost_asio.reference.basic_datagram_socket.io_control.overload1 io_control]``(
       IoControlCommand & command);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.io_control.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_datagram_socket.io_control.overload2 io_control]``(
       IoControlCommand & command,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.io_control.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::io_control (1 of 2 overloads)]
@@ -4288,6 +4440,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -4332,6 +4490,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -4341,9 +4505,11 @@
 [indexterm2 local_endpoint..basic_datagram_socket] Get the local endpoint of the socket.
 
   endpoint_type ``[link boost_asio.reference.basic_datagram_socket.local_endpoint.overload1 local_endpoint]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.local_endpoint.overload1 more...]]``
 
   endpoint_type ``[link boost_asio.reference.basic_datagram_socket.local_endpoint.overload2 local_endpoint]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.local_endpoint.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::local_endpoint (1 of 2 overloads)]
@@ -4444,10 +4610,12 @@
 [indexterm2 lowest_layer..basic_datagram_socket] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.basic_datagram_socket.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.basic_datagram_socket.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::lowest_layer (1 of 2 overloads)]
@@ -4844,6 +5012,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -4890,6 +5064,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -4950,6 +5130,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -4982,6 +5168,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -4992,10 +5184,12 @@
 
   void ``[link boost_asio.reference.basic_datagram_socket.open.overload1 open]``(
       const protocol_type & protocol = protocol_type());
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.open.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_datagram_socket.open.overload2 open]``(
       const protocol_type & protocol,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.open.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::open (1 of 2 overloads)]
@@ -5103,6 +5297,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -5115,12 +5315,14 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_datagram_socket.receive.overload1 receive]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.receive.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_datagram_socket.receive.overload2 receive]``(
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.receive.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
@@ -5128,6 +5330,7 @@
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.receive.overload3 more...]]``
 
 
 [section:overload1 basic_datagram_socket::receive (1 of 3 overloads)]
@@ -5316,6 +5519,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -5329,6 +5538,7 @@
   std::size_t ``[link boost_asio.reference.basic_datagram_socket.receive_from.overload1 receive_from]``(
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.receive_from.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
@@ -5336,6 +5546,7 @@
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
       socket_base::message_flags flags);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.receive_from.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
@@ -5344,6 +5555,7 @@
       endpoint_type & sender_endpoint,
       socket_base::message_flags flags,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.receive_from.overload3 more...]]``
 
 
 [section:overload1 basic_datagram_socket::receive_from (1 of 3 overloads)]
@@ -5531,6 +5743,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -5540,9 +5758,11 @@
 [indexterm2 remote_endpoint..basic_datagram_socket] Get the remote endpoint of the socket.
 
   endpoint_type ``[link boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1 remote_endpoint]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1 more...]]``
 
   endpoint_type ``[link boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2 remote_endpoint]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::remote_endpoint (1 of 2 overloads)]
@@ -5677,6 +5897,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -5689,12 +5915,14 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_datagram_socket.send.overload1 send]``(
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.send.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_datagram_socket.send.overload2 send]``(
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.send.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
@@ -5702,6 +5930,7 @@
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.send.overload3 more...]]``
 
 
 [section:overload1 basic_datagram_socket::send (1 of 3 overloads)]
@@ -5890,6 +6119,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -5933,6 +6168,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -5946,6 +6187,7 @@
   std::size_t ``[link boost_asio.reference.basic_datagram_socket.send_to.overload1 send_to]``(
       const ConstBufferSequence & buffers,
       const endpoint_type & destination);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.send_to.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
@@ -5953,6 +6195,7 @@
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
       socket_base::message_flags flags);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.send_to.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
@@ -5961,6 +6204,7 @@
       const endpoint_type & destination,
       socket_base::message_flags flags,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.send_to.overload3 more...]]``
 
 
 [section:overload1 basic_datagram_socket::send_to (1 of 3 overloads)]
@@ -6136,6 +6380,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_datagram_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -6146,10 +6396,12 @@
 
   void ``[link boost_asio.reference.basic_datagram_socket.set_option.overload1 set_option]``(
       const SettableSocketOption & option);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.set_option.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_datagram_socket.set_option.overload2 set_option]``(
       const SettableSocketOption & option,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.set_option.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::set_option (1 of 2 overloads)]
@@ -6258,10 +6510,12 @@
 
   void ``[link boost_asio.reference.basic_datagram_socket.shutdown.overload1 shutdown]``(
       shutdown_type what);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.shutdown.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_datagram_socket.shutdown.overload2 shutdown]``(
       shutdown_type what,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_datagram_socket.shutdown.overload2 more...]]``
 
 
 [section:overload1 basic_datagram_socket::shutdown (1 of 2 overloads)]
@@ -6372,6 +6626,10 @@
 
   enum shutdown_type
 
+[indexterm2 shutdown_receive..basic_datagram_socket]
+[indexterm2 shutdown_send..basic_datagram_socket]
+[indexterm2 shutdown_both..basic_datagram_socket]
+
 [heading Values]
 [variablelist
 
@@ -6610,6 +6868,12 @@
 * If a wait handler is cancelled, the boost::system::error_code passed to it contains the value boost::asio::error::operation_aborted.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_deadline_timer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:async_wait basic_deadline_timer::async_wait]
 
@@ -6656,18 +6920,21 @@
 
   ``[link boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1 basic_deadline_timer]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1 more...]]``
 
 Constructor to set a particular expiry time as an absolute time.
 
   ``[link boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2 basic_deadline_timer]``(
       boost::asio::io_service & io_service,
       const time_type & expiry_time);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2 more...]]``
 
 Constructor to set a particular expiry time relative to now.
 
   ``[link boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3 basic_deadline_timer]``(
       boost::asio::io_service & io_service,
       const duration_type & expiry_time);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3 more...]]``
 
 
 [section:overload1 basic_deadline_timer::basic_deadline_timer (1 of 3 overloads)]
@@ -6760,9 +7027,11 @@
 [indexterm2 cancel..basic_deadline_timer] Cancel any asynchronous operations that are waiting on the timer.
 
   std::size_t ``[link boost_asio.reference.basic_deadline_timer.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.cancel.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.basic_deadline_timer.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.cancel.overload2 more...]]``
 
 
 [section:overload1 basic_deadline_timer::cancel (1 of 2 overloads)]
@@ -6838,6 +7107,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_deadline_timer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -6847,15 +7122,18 @@
 [indexterm2 expires_at..basic_deadline_timer] Get the timer's expiry time as an absolute time.
 
   time_type ``[link boost_asio.reference.basic_deadline_timer.expires_at.overload1 expires_at]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.expires_at.overload1 more...]]``
 
 Set the timer's expiry time as an absolute time.
 
   std::size_t ``[link boost_asio.reference.basic_deadline_timer.expires_at.overload2 expires_at]``(
       const time_type & expiry_time);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.expires_at.overload2 more...]]``
 
   std::size_t ``[link boost_asio.reference.basic_deadline_timer.expires_at.overload3 expires_at]``(
       const time_type & expiry_time,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.expires_at.overload3 more...]]``
 
 
 [section:overload1 basic_deadline_timer::expires_at (1 of 3 overloads)]
@@ -6950,15 +7228,18 @@
 [indexterm2 expires_from_now..basic_deadline_timer] Get the timer's expiry time relative to now.
 
   duration_type ``[link boost_asio.reference.basic_deadline_timer.expires_from_now.overload1 expires_from_now]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.expires_from_now.overload1 more...]]``
 
 Set the timer's expiry time relative to now.
 
   std::size_t ``[link boost_asio.reference.basic_deadline_timer.expires_from_now.overload2 expires_from_now]``(
       const duration_type & expiry_time);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.expires_from_now.overload2 more...]]``
 
   std::size_t ``[link boost_asio.reference.basic_deadline_timer.expires_from_now.overload3 expires_from_now]``(
       const duration_type & expiry_time,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.expires_from_now.overload3 more...]]``
 
 
 [section:overload1 basic_deadline_timer::expires_from_now (1 of 3 overloads)]
@@ -7098,6 +7379,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_deadline_timer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -7152,6 +7439,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_deadline_timer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -7165,6 +7458,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_deadline_timer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -7178,6 +7477,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_deadline_timer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -7187,9 +7492,11 @@
 [indexterm2 wait..basic_deadline_timer] Perform a blocking wait on the timer.
 
   void ``[link boost_asio.reference.basic_deadline_timer.wait.overload1 wait]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.wait.overload1 more...]]``
 
   void ``[link boost_asio.reference.basic_deadline_timer.wait.overload2 wait]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_deadline_timer.wait.overload2 more...]]``
 
 
 [section:overload1 basic_deadline_timer::wait (1 of 2 overloads)]
@@ -7325,6 +7632,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_io_object.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:basic_io_object basic_io_object::basic_io_object]
 
@@ -7386,6 +7699,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_io_object.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -7431,6 +7750,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_io_object.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -7832,6 +8157,12 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:assign basic_raw_socket::assign]
 
 [indexterm2 assign..basic_raw_socket] Assign an existing native socket to the socket.
@@ -7839,11 +8170,13 @@
   void ``[link boost_asio.reference.basic_raw_socket.assign.overload1 assign]``(
       const protocol_type & protocol,
       const native_type & native_socket);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.assign.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_raw_socket.assign.overload2 assign]``(
       const protocol_type & protocol,
       const native_type & native_socket,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.assign.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::assign (1 of 2 overloads)]
@@ -7954,6 +8287,7 @@
   void ``[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...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
@@ -7962,6 +8296,7 @@
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.async_receive.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::async_receive (1 of 2 overloads)]
@@ -8076,6 +8411,7 @@
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.async_receive_from.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
@@ -8085,6 +8421,7 @@
       endpoint_type & sender_endpoint,
       socket_base::message_flags flags,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.async_receive_from.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::async_receive_from (1 of 2 overloads)]
@@ -8197,6 +8534,7 @@
   void ``[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...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
@@ -8205,6 +8543,7 @@
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.async_send.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::async_send (1 of 2 overloads)]
@@ -8319,6 +8658,7 @@
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.async_send_to.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
@@ -8328,6 +8668,7 @@
       const endpoint_type & destination,
       socket_base::message_flags flags,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.async_send_to.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::async_send_to (1 of 2 overloads)]
@@ -8437,9 +8778,11 @@
 [indexterm2 at_mark..basic_raw_socket] Determine whether the socket is at the out-of-band data mark.
 
   bool ``[link boost_asio.reference.basic_raw_socket.at_mark.overload1 at_mark]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.at_mark.overload1 more...]]``
 
   bool ``[link boost_asio.reference.basic_raw_socket.at_mark.overload2 at_mark]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.at_mark.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::at_mark (1 of 2 overloads)]
@@ -8513,9 +8856,11 @@
 [indexterm2 available..basic_raw_socket] Determine the number of bytes available for reading.
 
   std::size_t ``[link boost_asio.reference.basic_raw_socket.available.overload1 available]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.available.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.basic_raw_socket.available.overload2 available]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.available.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::available (1 of 2 overloads)]
@@ -8590,18 +8935,21 @@
 
   ``[link boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1 basic_raw_socket]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1 more...]]``
 
 Construct and open a basic_raw_socket.
 
   ``[link boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2 basic_raw_socket]``(
       boost::asio::io_service & io_service,
       const protocol_type & protocol);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2 more...]]``
 
 Construct a basic_raw_socket, opening it and binding it to the given local endpoint.
 
   ``[link boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3 basic_raw_socket]``(
       boost::asio::io_service & io_service,
       const endpoint_type & endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3 more...]]``
 
 Construct a basic_raw_socket on an existing native socket.
 
@@ -8609,6 +8957,7 @@
       boost::asio::io_service & io_service,
       const protocol_type & protocol,
       const native_type & native_socket);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4 more...]]``
 
 
 [section:overload1 basic_raw_socket::basic_raw_socket (1 of 4 overloads)]
@@ -8761,10 +9110,12 @@
 
   void ``[link boost_asio.reference.basic_raw_socket.bind.overload1 bind]``(
       const endpoint_type & endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.bind.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_raw_socket.bind.overload2 bind]``(
       const endpoint_type & endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.bind.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::bind (1 of 2 overloads)]
@@ -8906,6 +9257,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -8939,6 +9296,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -8948,9 +9311,11 @@
 [indexterm2 cancel..basic_raw_socket] Cancel all asynchronous operations associated with the socket.
 
   void ``[link boost_asio.reference.basic_raw_socket.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.cancel.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_raw_socket.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.cancel.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::cancel (1 of 2 overloads)]
@@ -9048,9 +9413,11 @@
 [indexterm2 close..basic_raw_socket] Close the socket.
 
   void ``[link boost_asio.reference.basic_raw_socket.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_raw_socket.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.close.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::close (1 of 2 overloads)]
@@ -9141,10 +9508,12 @@
 
   void ``[link boost_asio.reference.basic_raw_socket.connect.overload1 connect]``(
       const endpoint_type & peer_endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.connect.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_raw_socket.connect.overload2 connect]``(
       const endpoint_type & peer_endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.connect.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::connect (1 of 2 overloads)]
@@ -9290,6 +9659,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -9333,6 +9708,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -9376,6 +9757,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -9389,6 +9776,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -9422,10 +9815,12 @@
 
   void ``[link boost_asio.reference.basic_raw_socket.get_option.overload1 get_option]``(
       GettableSocketOption & option) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.get_option.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_raw_socket.get_option.overload2 get_option]``(
       GettableSocketOption & option,
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.get_option.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::get_option (1 of 2 overloads)]
@@ -9557,6 +9952,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -9567,10 +9968,12 @@
 
   void ``[link boost_asio.reference.basic_raw_socket.io_control.overload1 io_control]``(
       IoControlCommand & command);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.io_control.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_raw_socket.io_control.overload2 io_control]``(
       IoControlCommand & command,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.io_control.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::io_control (1 of 2 overloads)]
@@ -9752,6 +10155,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -9796,6 +10205,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -9805,9 +10220,11 @@
 [indexterm2 local_endpoint..basic_raw_socket] Get the local endpoint of the socket.
 
   endpoint_type ``[link boost_asio.reference.basic_raw_socket.local_endpoint.overload1 local_endpoint]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.local_endpoint.overload1 more...]]``
 
   endpoint_type ``[link boost_asio.reference.basic_raw_socket.local_endpoint.overload2 local_endpoint]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.local_endpoint.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::local_endpoint (1 of 2 overloads)]
@@ -9908,10 +10325,12 @@
 [indexterm2 lowest_layer..basic_raw_socket] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.basic_raw_socket.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.basic_raw_socket.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::lowest_layer (1 of 2 overloads)]
@@ -10308,6 +10727,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -10354,6 +10779,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -10414,6 +10845,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -10446,6 +10883,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -10456,10 +10899,12 @@
 
   void ``[link boost_asio.reference.basic_raw_socket.open.overload1 open]``(
       const protocol_type & protocol = protocol_type());
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.open.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_raw_socket.open.overload2 open]``(
       const protocol_type & protocol,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.open.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::open (1 of 2 overloads)]
@@ -10567,6 +11012,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -10579,12 +11030,14 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_raw_socket.receive.overload1 receive]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.receive.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_raw_socket.receive.overload2 receive]``(
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.receive.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
@@ -10592,6 +11045,7 @@
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.receive.overload3 more...]]``
 
 
 [section:overload1 basic_raw_socket::receive (1 of 3 overloads)]
@@ -10780,6 +11234,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -10793,6 +11253,7 @@
   std::size_t ``[link boost_asio.reference.basic_raw_socket.receive_from.overload1 receive_from]``(
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.receive_from.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
@@ -10800,6 +11261,7 @@
       const MutableBufferSequence & buffers,
       endpoint_type & sender_endpoint,
       socket_base::message_flags flags);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.receive_from.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
@@ -10808,6 +11270,7 @@
       endpoint_type & sender_endpoint,
       socket_base::message_flags flags,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.receive_from.overload3 more...]]``
 
 
 [section:overload1 basic_raw_socket::receive_from (1 of 3 overloads)]
@@ -10995,6 +11458,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -11004,9 +11473,11 @@
 [indexterm2 remote_endpoint..basic_raw_socket] Get the remote endpoint of the socket.
 
   endpoint_type ``[link boost_asio.reference.basic_raw_socket.remote_endpoint.overload1 remote_endpoint]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.remote_endpoint.overload1 more...]]``
 
   endpoint_type ``[link boost_asio.reference.basic_raw_socket.remote_endpoint.overload2 remote_endpoint]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.remote_endpoint.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::remote_endpoint (1 of 2 overloads)]
@@ -11141,6 +11612,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -11153,12 +11630,14 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_raw_socket.send.overload1 send]``(
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.send.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_raw_socket.send.overload2 send]``(
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.send.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
@@ -11166,6 +11645,7 @@
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.send.overload3 more...]]``
 
 
 [section:overload1 basic_raw_socket::send (1 of 3 overloads)]
@@ -11354,6 +11834,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -11397,6 +11883,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -11410,6 +11902,7 @@
   std::size_t ``[link boost_asio.reference.basic_raw_socket.send_to.overload1 send_to]``(
       const ConstBufferSequence & buffers,
       const endpoint_type & destination);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.send_to.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
@@ -11417,6 +11910,7 @@
       const ConstBufferSequence & buffers,
       const endpoint_type & destination,
       socket_base::message_flags flags);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.send_to.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
@@ -11425,6 +11919,7 @@
       const endpoint_type & destination,
       socket_base::message_flags flags,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.send_to.overload3 more...]]``
 
 
 [section:overload1 basic_raw_socket::send_to (1 of 3 overloads)]
@@ -11600,6 +12095,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_raw_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -11610,10 +12111,12 @@
 
   void ``[link boost_asio.reference.basic_raw_socket.set_option.overload1 set_option]``(
       const SettableSocketOption & option);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.set_option.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_raw_socket.set_option.overload2 set_option]``(
       const SettableSocketOption & option,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.set_option.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::set_option (1 of 2 overloads)]
@@ -11722,10 +12225,12 @@
 
   void ``[link boost_asio.reference.basic_raw_socket.shutdown.overload1 shutdown]``(
       shutdown_type what);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.shutdown.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_raw_socket.shutdown.overload2 shutdown]``(
       shutdown_type what,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_raw_socket.shutdown.overload2 more...]]``
 
 
 [section:overload1 basic_raw_socket::shutdown (1 of 2 overloads)]
@@ -11836,6 +12341,10 @@
 
   enum shutdown_type
 
+[indexterm2 shutdown_receive..basic_raw_socket]
+[indexterm2 shutdown_send..basic_raw_socket]
+[indexterm2 shutdown_both..basic_raw_socket]
+
 [heading Values]
 [variablelist
 
@@ -12032,16 +12541,24 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_serial_port.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:assign basic_serial_port::assign]
 
 [indexterm2 assign..basic_serial_port] Assign an existing native serial port to the serial port.
 
   void ``[link boost_asio.reference.basic_serial_port.assign.overload1 assign]``(
       const native_type & native_serial_port);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.assign.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_serial_port.assign.overload2 assign]``(
       const native_type & native_serial_port,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.assign.overload2 more...]]``
 
 
 [section:overload1 basic_serial_port::assign (1 of 2 overloads)]
@@ -12188,22 +12705,26 @@
 
   ``[link boost_asio.reference.basic_serial_port.basic_serial_port.overload1 basic_serial_port]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.basic_serial_port.overload1 more...]]``
 
 Construct and open a basic_serial_port.
 
   ``[link boost_asio.reference.basic_serial_port.basic_serial_port.overload2 basic_serial_port]``(
       boost::asio::io_service & io_service,
       const char * device);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.basic_serial_port.overload2 more...]]``
 
   ``[link boost_asio.reference.basic_serial_port.basic_serial_port.overload3 basic_serial_port]``(
       boost::asio::io_service & io_service,
       const std::string & device);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.basic_serial_port.overload3 more...]]``
 
 Construct a basic_serial_port on an existing native serial port.
 
   ``[link boost_asio.reference.basic_serial_port.basic_serial_port.overload4 basic_serial_port]``(
       boost::asio::io_service & io_service,
       const native_type & native_serial_port);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.basic_serial_port.overload4 more...]]``
 
 
 [section:overload1 basic_serial_port::basic_serial_port (1 of 4 overloads)]
@@ -12334,9 +12855,11 @@
 [indexterm2 cancel..basic_serial_port] Cancel all asynchronous operations associated with the serial port.
 
   void ``[link boost_asio.reference.basic_serial_port.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.cancel.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_serial_port.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.cancel.overload2 more...]]``
 
 
 [section:overload1 basic_serial_port::cancel (1 of 2 overloads)]
@@ -12396,9 +12919,11 @@
 [indexterm2 close..basic_serial_port] Close the serial port.
 
   void ``[link boost_asio.reference.basic_serial_port.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_serial_port.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.close.overload2 more...]]``
 
 
 [section:overload1 basic_serial_port::close (1 of 2 overloads)]
@@ -12484,12 +13009,14 @@
       typename ``[link boost_asio.reference.GettableSerialPortOption GettableSerialPortOption]``>
   void ``[link boost_asio.reference.basic_serial_port.get_option.overload1 get_option]``(
       GettableSerialPortOption & option);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.get_option.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.GettableSerialPortOption GettableSerialPortOption]``>
   boost::system::error_code ``[link boost_asio.reference.basic_serial_port.get_option.overload2 get_option]``(
       GettableSerialPortOption & option,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.get_option.overload2 more...]]``
 
 
 [section:overload1 basic_serial_port::get_option (1 of 2 overloads)]
@@ -12588,6 +13115,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_serial_port.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -12632,10 +13165,12 @@
 [indexterm2 lowest_layer..basic_serial_port] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.basic_serial_port.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.basic_serial_port.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 basic_serial_port::lowest_layer (1 of 2 overloads)]
@@ -12845,6 +13380,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_serial_port.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -12872,6 +13413,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_serial_port.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -12882,10 +13429,12 @@
 
   void ``[link boost_asio.reference.basic_serial_port.open.overload1 open]``(
       const std::string & device);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.open.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_serial_port.open.overload2 open]``(
       const std::string & device,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.open.overload2 more...]]``
 
 
 [section:overload1 basic_serial_port::open (1 of 2 overloads)]
@@ -12961,12 +13510,14 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_serial_port.read_some.overload1 read_some]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.read_some.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_serial_port.read_some.overload2 read_some]``(
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.read_some.overload2 more...]]``
 
 
 [section:overload1 basic_serial_port::read_some (1 of 2 overloads)]
@@ -13072,9 +13623,11 @@
 [indexterm2 send_break..basic_serial_port] Send a break sequence to the serial port.
 
   void ``[link boost_asio.reference.basic_serial_port.send_break.overload1 send_break]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.send_break.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_serial_port.send_break.overload2 send_break]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.send_break.overload2 more...]]``
 
 
 [section:overload1 basic_serial_port::send_break (1 of 2 overloads)]
@@ -13156,6 +13709,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_serial_port.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -13168,12 +13727,14 @@
       typename ``[link boost_asio.reference.SettableSerialPortOption SettableSerialPortOption]``>
   void ``[link boost_asio.reference.basic_serial_port.set_option.overload1 set_option]``(
       const SettableSerialPortOption & option);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.set_option.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SettableSerialPortOption SettableSerialPortOption]``>
   boost::system::error_code ``[link boost_asio.reference.basic_serial_port.set_option.overload2 set_option]``(
       const SettableSerialPortOption & option,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.set_option.overload2 more...]]``
 
 
 [section:overload1 basic_serial_port::set_option (1 of 2 overloads)]
@@ -13253,12 +13814,14 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_serial_port.write_some.overload1 write_some]``(
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.write_some.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_serial_port.write_some.overload2 write_some]``(
       const ConstBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_serial_port.write_some.overload2 more...]]``
 
 
 [section:overload1 basic_serial_port::write_some (1 of 2 overloads)]
@@ -13709,6 +14272,12 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:assign basic_socket::assign]
 
 [indexterm2 assign..basic_socket] Assign an existing native socket to the socket.
@@ -13716,11 +14285,13 @@
   void ``[link boost_asio.reference.basic_socket.assign.overload1 assign]``(
       const protocol_type & protocol,
       const native_type & native_socket);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.assign.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket.assign.overload2 assign]``(
       const protocol_type & protocol,
       const native_type & native_socket,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.assign.overload2 more...]]``
 
 
 [section:overload1 basic_socket::assign (1 of 2 overloads)]
@@ -13819,9 +14390,11 @@
 [indexterm2 at_mark..basic_socket] Determine whether the socket is at the out-of-band data mark.
 
   bool ``[link boost_asio.reference.basic_socket.at_mark.overload1 at_mark]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.at_mark.overload1 more...]]``
 
   bool ``[link boost_asio.reference.basic_socket.at_mark.overload2 at_mark]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.at_mark.overload2 more...]]``
 
 
 [section:overload1 basic_socket::at_mark (1 of 2 overloads)]
@@ -13889,9 +14462,11 @@
 [indexterm2 available..basic_socket] Determine the number of bytes available for reading.
 
   std::size_t ``[link boost_asio.reference.basic_socket.available.overload1 available]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.available.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.basic_socket.available.overload2 available]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.available.overload2 more...]]``
 
 
 [section:overload1 basic_socket::available (1 of 2 overloads)]
@@ -13960,18 +14535,21 @@
 
   ``[link boost_asio.reference.basic_socket.basic_socket.overload1 basic_socket]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.basic_socket.overload1 more...]]``
 
 Construct and open a basic_socket.
 
   ``[link boost_asio.reference.basic_socket.basic_socket.overload2 basic_socket]``(
       boost::asio::io_service & io_service,
       const protocol_type & protocol);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.basic_socket.overload2 more...]]``
 
 Construct a basic_socket, opening it and binding it to the given local endpoint.
 
   ``[link boost_asio.reference.basic_socket.basic_socket.overload3 basic_socket]``(
       boost::asio::io_service & io_service,
       const endpoint_type & endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.basic_socket.overload3 more...]]``
 
 Construct a basic_socket on an existing native socket.
 
@@ -13979,6 +14557,7 @@
       boost::asio::io_service & io_service,
       const protocol_type & protocol,
       const native_type & native_socket);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.basic_socket.overload4 more...]]``
 
 
 [section:overload1 basic_socket::basic_socket (1 of 4 overloads)]
@@ -14131,10 +14710,12 @@
 
   void ``[link boost_asio.reference.basic_socket.bind.overload1 bind]``(
       const endpoint_type & endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.bind.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket.bind.overload2 bind]``(
       const endpoint_type & endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.bind.overload2 more...]]``
 
 
 [section:overload1 basic_socket::bind (1 of 2 overloads)]
@@ -14270,6 +14851,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -14303,6 +14890,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -14312,9 +14905,11 @@
 [indexterm2 cancel..basic_socket] Cancel all asynchronous operations associated with the socket.
 
   void ``[link boost_asio.reference.basic_socket.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.cancel.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.cancel.overload2 more...]]``
 
 
 [section:overload1 basic_socket::cancel (1 of 2 overloads)]
@@ -14406,9 +15001,11 @@
 [indexterm2 close..basic_socket] Close the socket.
 
   void ``[link boost_asio.reference.basic_socket.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.close.overload2 more...]]``
 
 
 [section:overload1 basic_socket::close (1 of 2 overloads)]
@@ -14493,10 +15090,12 @@
 
   void ``[link boost_asio.reference.basic_socket.connect.overload1 connect]``(
       const endpoint_type & peer_endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.connect.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket.connect.overload2 connect]``(
       const endpoint_type & peer_endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.connect.overload2 more...]]``
 
 
 [section:overload1 basic_socket::connect (1 of 2 overloads)]
@@ -14636,6 +15235,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -14679,6 +15284,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -14722,6 +15333,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -14735,6 +15352,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -14770,12 +15393,14 @@
       typename ``[link boost_asio.reference.GettableSocketOption GettableSocketOption]``>
   void ``[link boost_asio.reference.basic_socket.get_option.overload1 get_option]``(
       GettableSocketOption & option) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.get_option.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.GettableSocketOption GettableSocketOption]``>
   boost::system::error_code ``[link boost_asio.reference.basic_socket.get_option.overload2 get_option]``(
       GettableSocketOption & option,
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.get_option.overload2 more...]]``
 
 
 [section:overload1 basic_socket::get_option (1 of 2 overloads)]
@@ -14905,6 +15530,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -14917,12 +15548,14 @@
       typename ``[link boost_asio.reference.IoControlCommand IoControlCommand]``>
   void ``[link boost_asio.reference.basic_socket.io_control.overload1 io_control]``(
       IoControlCommand & command);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.io_control.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.IoControlCommand IoControlCommand]``>
   boost::system::error_code ``[link boost_asio.reference.basic_socket.io_control.overload2 io_control]``(
       IoControlCommand & command,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.io_control.overload2 more...]]``
 
 
 [section:overload1 basic_socket::io_control (1 of 2 overloads)]
@@ -15099,6 +15732,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -15143,6 +15782,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -15152,9 +15797,11 @@
 [indexterm2 local_endpoint..basic_socket] Get the local endpoint of the socket.
 
   endpoint_type ``[link boost_asio.reference.basic_socket.local_endpoint.overload1 local_endpoint]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.local_endpoint.overload1 more...]]``
 
   endpoint_type ``[link boost_asio.reference.basic_socket.local_endpoint.overload2 local_endpoint]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.local_endpoint.overload2 more...]]``
 
 
 [section:overload1 basic_socket::local_endpoint (1 of 2 overloads)]
@@ -15249,10 +15896,12 @@
 [indexterm2 lowest_layer..basic_socket] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.basic_socket.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.basic_socket.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 basic_socket::lowest_layer (1 of 2 overloads)]
@@ -15640,6 +16289,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -15686,6 +16341,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -15743,6 +16404,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -15775,6 +16442,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -15785,10 +16458,12 @@
 
   void ``[link boost_asio.reference.basic_socket.open.overload1 open]``(
       const protocol_type & protocol = protocol_type());
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.open.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket.open.overload2 open]``(
       const protocol_type & protocol,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.open.overload2 more...]]``
 
 
 [section:overload1 basic_socket::open (1 of 2 overloads)]
@@ -15890,6 +16565,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -15933,6 +16614,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -15976,6 +16663,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -15985,9 +16678,11 @@
 [indexterm2 remote_endpoint..basic_socket] Get the remote endpoint of the socket.
 
   endpoint_type ``[link boost_asio.reference.basic_socket.remote_endpoint.overload1 remote_endpoint]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.remote_endpoint.overload1 more...]]``
 
   endpoint_type ``[link boost_asio.reference.basic_socket.remote_endpoint.overload2 remote_endpoint]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.remote_endpoint.overload2 more...]]``
 
 
 [section:overload1 basic_socket::remote_endpoint (1 of 2 overloads)]
@@ -16116,6 +16811,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -16159,6 +16860,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -16202,6 +16909,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -16233,6 +16946,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -16245,12 +16964,14 @@
       typename ``[link boost_asio.reference.SettableSocketOption SettableSocketOption]``>
   void ``[link boost_asio.reference.basic_socket.set_option.overload1 set_option]``(
       const SettableSocketOption & option);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.set_option.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SettableSocketOption SettableSocketOption]``>
   boost::system::error_code ``[link boost_asio.reference.basic_socket.set_option.overload2 set_option]``(
       const SettableSocketOption & option,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.set_option.overload2 more...]]``
 
 
 [section:overload1 basic_socket::set_option (1 of 2 overloads)]
@@ -16357,10 +17078,12 @@
 
   void ``[link boost_asio.reference.basic_socket.shutdown.overload1 shutdown]``(
       shutdown_type what);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.shutdown.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket.shutdown.overload2 shutdown]``(
       shutdown_type what,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket.shutdown.overload2 more...]]``
 
 
 [section:overload1 basic_socket::shutdown (1 of 2 overloads)]
@@ -16465,6 +17188,10 @@
 
   enum shutdown_type
 
+[indexterm2 shutdown_receive..basic_socket]
+[indexterm2 shutdown_send..basic_socket]
+[indexterm2 shutdown_both..basic_socket]
+
 [heading Values]
 [variablelist
 
@@ -16823,6 +17550,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:accept basic_socket_acceptor::accept]
 
 [indexterm2 accept..basic_socket_acceptor] Accept a new connection.
@@ -16831,12 +17564,14 @@
       typename ``[link boost_asio.reference.SocketService SocketService]``>
   void ``[link boost_asio.reference.basic_socket_acceptor.accept.overload1 accept]``(
       basic_socket< protocol_type, SocketService > & peer);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.accept.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SocketService SocketService]``>
   boost::system::error_code ``[link boost_asio.reference.basic_socket_acceptor.accept.overload2 accept]``(
       basic_socket< protocol_type, SocketService > & peer,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.accept.overload2 more...]]``
 
 Accept a new connection and obtain the endpoint of the peer.
 
@@ -16845,6 +17580,7 @@
   void ``[link boost_asio.reference.basic_socket_acceptor.accept.overload3 accept]``(
       basic_socket< protocol_type, SocketService > & peer,
       endpoint_type & peer_endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.accept.overload3 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SocketService SocketService]``>
@@ -16852,6 +17588,7 @@
       basic_socket< protocol_type, SocketService > & peer,
       endpoint_type & peer_endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.accept.overload4 more...]]``
 
 
 [section:overload1 basic_socket_acceptor::accept (1 of 4 overloads)]
@@ -17064,11 +17801,13 @@
   void ``[link boost_asio.reference.basic_socket_acceptor.assign.overload1 assign]``(
       const protocol_type & protocol,
       const native_type & native_acceptor);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.assign.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_acceptor.assign.overload2 assign]``(
       const protocol_type & protocol,
       const native_type & native_acceptor,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.assign.overload2 more...]]``
 
 
 [section:overload1 basic_socket_acceptor::assign (1 of 2 overloads)]
@@ -17111,6 +17850,7 @@
   void ``[link boost_asio.reference.basic_socket_acceptor.async_accept.overload1 async_accept]``(
       basic_socket< protocol_type, SocketService > & peer,
       AcceptHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.async_accept.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SocketService SocketService]``,
@@ -17119,6 +17859,7 @@
       basic_socket< protocol_type, SocketService > & peer,
       endpoint_type & peer_endpoint,
       AcceptHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.async_accept.overload2 more...]]``
 
 
 [section:overload1 basic_socket_acceptor::async_accept (1 of 2 overloads)]
@@ -17229,12 +17970,14 @@
 
   ``[link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1 basic_socket_acceptor]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1 more...]]``
 
 Construct an open acceptor.
 
   ``[link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2 basic_socket_acceptor]``(
       boost::asio::io_service & io_service,
       const protocol_type & protocol);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2 more...]]``
 
 Construct an acceptor opened on the given endpoint.
 
@@ -17242,6 +17985,7 @@
       boost::asio::io_service & io_service,
       const endpoint_type & endpoint,
       bool reuse_addr = true);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3 more...]]``
 
 Construct a basic_socket_acceptor on an existing native acceptor.
 
@@ -17249,6 +17993,7 @@
       boost::asio::io_service & io_service,
       const protocol_type & protocol,
       const native_type & native_acceptor);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4 more...]]``
 
 
 [section:overload1 basic_socket_acceptor::basic_socket_acceptor (1 of 4 overloads)]
@@ -17418,10 +18163,12 @@
 
   void ``[link boost_asio.reference.basic_socket_acceptor.bind.overload1 bind]``(
       const endpoint_type & endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.bind.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_acceptor.bind.overload2 bind]``(
       const endpoint_type & endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.bind.overload2 more...]]``
 
 
 [section:overload1 basic_socket_acceptor::bind (1 of 2 overloads)]
@@ -17555,6 +18302,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -17588,6 +18341,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -17597,9 +18356,11 @@
 [indexterm2 cancel..basic_socket_acceptor] Cancel all asynchronous operations associated with the acceptor.
 
   void ``[link boost_asio.reference.basic_socket_acceptor.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.cancel.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_acceptor.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.cancel.overload2 more...]]``
 
 
 [section:overload1 basic_socket_acceptor::cancel (1 of 2 overloads)]
@@ -17659,9 +18420,11 @@
 [indexterm2 close..basic_socket_acceptor] Close the acceptor.
 
   void ``[link boost_asio.reference.basic_socket_acceptor.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_acceptor.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.close.overload2 more...]]``
 
 
 [section:overload1 basic_socket_acceptor::close (1 of 2 overloads)]
@@ -17775,6 +18538,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -17818,6 +18587,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -17861,6 +18636,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -17874,6 +18655,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -17909,12 +18696,14 @@
       typename ``[link boost_asio.reference.GettableSocketOption GettableSocketOption]``>
   void ``[link boost_asio.reference.basic_socket_acceptor.get_option.overload1 get_option]``(
       GettableSocketOption & option);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.get_option.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.GettableSocketOption GettableSocketOption]``>
   boost::system::error_code ``[link boost_asio.reference.basic_socket_acceptor.get_option.overload2 get_option]``(
       GettableSocketOption & option,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.get_option.overload2 more...]]``
 
 
 [section:overload1 basic_socket_acceptor::get_option (1 of 2 overloads)]
@@ -18044,6 +18833,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18122,6 +18917,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18166,6 +18967,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18176,10 +18983,12 @@
 
   void ``[link boost_asio.reference.basic_socket_acceptor.listen.overload1 listen]``(
       int backlog = socket_base::max_connections);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.listen.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_acceptor.listen.overload2 listen]``(
       int backlog,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.listen.overload2 more...]]``
 
 
 [section:overload1 basic_socket_acceptor::listen (1 of 2 overloads)]
@@ -18268,9 +19077,11 @@
 [indexterm2 local_endpoint..basic_socket_acceptor] Get the local endpoint of the acceptor.
 
   endpoint_type ``[link boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1 local_endpoint]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1 more...]]``
 
   endpoint_type ``[link boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2 local_endpoint]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2 more...]]``
 
 
 [section:overload1 basic_socket_acceptor::local_endpoint (1 of 2 overloads)]
@@ -18402,6 +19213,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18459,6 +19276,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18491,6 +19314,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18501,10 +19330,12 @@
 
   void ``[link boost_asio.reference.basic_socket_acceptor.open.overload1 open]``(
       const protocol_type & protocol = protocol_type());
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.open.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_acceptor.open.overload2 open]``(
       const protocol_type & protocol,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.open.overload2 more...]]``
 
 
 [section:overload1 basic_socket_acceptor::open (1 of 2 overloads)]
@@ -18606,6 +19437,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18649,6 +19486,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18692,6 +19535,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18735,6 +19584,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18778,6 +19633,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18821,6 +19682,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18852,6 +19719,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_acceptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -18864,12 +19737,14 @@
       typename ``[link boost_asio.reference.SettableSocketOption SettableSocketOption]``>
   void ``[link boost_asio.reference.basic_socket_acceptor.set_option.overload1 set_option]``(
       const SettableSocketOption & option);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.set_option.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SettableSocketOption SettableSocketOption]``>
   boost::system::error_code ``[link boost_asio.reference.basic_socket_acceptor.set_option.overload2 set_option]``(
       const SettableSocketOption & option,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_acceptor.set_option.overload2 more...]]``
 
 
 [section:overload1 basic_socket_acceptor::set_option (1 of 2 overloads)]
@@ -18980,6 +19855,10 @@
 
   enum shutdown_type
 
+[indexterm2 shutdown_receive..basic_socket_acceptor]
+[indexterm2 shutdown_send..basic_socket_acceptor]
+[indexterm2 shutdown_both..basic_socket_acceptor]
+
 [heading Values]
 [variablelist
 
@@ -19046,11 +19925,18 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_iostream.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:basic_socket_iostream basic_socket_iostream::basic_socket_iostream]
 
 [indexterm2 basic_socket_iostream..basic_socket_iostream] Construct a basic_socket_iostream without establishing a connection.
 
   ``[link boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload1 basic_socket_iostream]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload1 more...]]``
 
 Establish a connection to an endpoint corresponding to a resolver query.
 
@@ -19062,6 +19948,7 @@
       T1 t1,
       ... ,
       TN tn);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload2 more...]]``
 
 
 [section:overload1 basic_socket_iostream::basic_socket_iostream (1 of 2 overloads)]
@@ -19500,6 +20387,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:assign basic_socket_streambuf::assign]
 
 [indexterm2 assign..basic_socket_streambuf] Assign an existing native socket to the socket.
@@ -19507,11 +20400,13 @@
   void ``[link boost_asio.reference.basic_socket_streambuf.assign.overload1 assign]``(
       const protocol_type & protocol,
       const native_type & native_socket);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.assign.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_streambuf.assign.overload2 assign]``(
       const protocol_type & protocol,
       const native_type & native_socket,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.assign.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::assign (1 of 2 overloads)]
@@ -19617,9 +20512,11 @@
 [indexterm2 at_mark..basic_socket_streambuf] Determine whether the socket is at the out-of-band data mark.
 
   bool ``[link boost_asio.reference.basic_socket_streambuf.at_mark.overload1 at_mark]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.at_mark.overload1 more...]]``
 
   bool ``[link boost_asio.reference.basic_socket_streambuf.at_mark.overload2 at_mark]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.at_mark.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::at_mark (1 of 2 overloads)]
@@ -19693,9 +20590,11 @@
 [indexterm2 available..basic_socket_streambuf] Determine the number of bytes available for reading.
 
   std::size_t ``[link boost_asio.reference.basic_socket_streambuf.available.overload1 available]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.available.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.basic_socket_streambuf.available.overload2 available]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.available.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::available (1 of 2 overloads)]
@@ -19782,10 +20681,12 @@
 
   void ``[link boost_asio.reference.basic_socket_streambuf.bind.overload1 bind]``(
       const endpoint_type & endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.bind.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_streambuf.bind.overload2 bind]``(
       const endpoint_type & endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.bind.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::bind (1 of 2 overloads)]
@@ -19927,6 +20828,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -19960,6 +20867,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -19969,9 +20882,11 @@
 [indexterm2 cancel..basic_socket_streambuf] Cancel all asynchronous operations associated with the socket.
 
   void ``[link boost_asio.reference.basic_socket_streambuf.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.cancel.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_streambuf.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.cancel.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::cancel (1 of 2 overloads)]
@@ -20069,11 +20984,13 @@
 [indexterm2 close..basic_socket_streambuf] Close the connection.
 
   basic_socket_streambuf< Protocol, StreamSocketService > * ``[link boost_asio.reference.basic_socket_streambuf.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.close.overload1 more...]]``
 
 Close the socket.
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_streambuf.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.close.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::close (1 of 2 overloads)]
@@ -20150,6 +21067,7 @@
 
   basic_socket_streambuf< Protocol, StreamSocketService > * ``[link boost_asio.reference.basic_socket_streambuf.connect.overload1 connect]``(
       const endpoint_type & endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.connect.overload1 more...]]``
 
   template<
       typename T1,
@@ -20159,12 +21077,14 @@
       T1 t1,
       ... ,
       TN tn);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.connect.overload2 more...]]``
 
 Connect the socket to the specified endpoint.
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_streambuf.connect.overload3 connect]``(
       const endpoint_type & peer_endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.connect.overload3 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::connect (1 of 3 overloads)]
@@ -20306,6 +21226,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -20349,6 +21275,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -20392,6 +21324,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -20405,6 +21343,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -20438,10 +21382,12 @@
 
   void ``[link boost_asio.reference.basic_socket_streambuf.get_option.overload1 get_option]``(
       GettableSocketOption & option) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.get_option.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_streambuf.get_option.overload2 get_option]``(
       GettableSocketOption & option,
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.get_option.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::get_option (1 of 2 overloads)]
@@ -20573,6 +21519,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -20583,10 +21535,12 @@
 
   void ``[link boost_asio.reference.basic_socket_streambuf.io_control.overload1 io_control]``(
       IoControlCommand & command);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.io_control.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_streambuf.io_control.overload2 io_control]``(
       IoControlCommand & command,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.io_control.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::io_control (1 of 2 overloads)]
@@ -20768,6 +21722,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -20812,6 +21772,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -20821,9 +21787,11 @@
 [indexterm2 local_endpoint..basic_socket_streambuf] Get the local endpoint of the socket.
 
   endpoint_type ``[link boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1 local_endpoint]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1 more...]]``
 
   endpoint_type ``[link boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2 local_endpoint]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::local_endpoint (1 of 2 overloads)]
@@ -20924,10 +21892,12 @@
 [indexterm2 lowest_layer..basic_socket_streambuf] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::lowest_layer (1 of 2 overloads)]
@@ -21324,6 +22294,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -21370,6 +22346,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -21433,6 +22415,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -21465,6 +22453,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -21475,10 +22469,12 @@
 
   void ``[link boost_asio.reference.basic_socket_streambuf.open.overload1 open]``(
       const protocol_type & protocol = protocol_type());
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.open.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_streambuf.open.overload2 open]``(
       const protocol_type & protocol,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.open.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::open (1 of 2 overloads)]
@@ -21602,6 +22598,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -21645,6 +22647,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -21688,6 +22696,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -21697,9 +22711,11 @@
 [indexterm2 remote_endpoint..basic_socket_streambuf] Get the remote endpoint of the socket.
 
   endpoint_type ``[link boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1 remote_endpoint]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1 more...]]``
 
   endpoint_type ``[link boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2 remote_endpoint]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::remote_endpoint (1 of 2 overloads)]
@@ -21834,6 +22850,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -21877,6 +22899,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -21920,6 +22948,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -21951,6 +22985,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_socket_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -21961,10 +23001,12 @@
 
   void ``[link boost_asio.reference.basic_socket_streambuf.set_option.overload1 set_option]``(
       const SettableSocketOption & option);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.set_option.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_streambuf.set_option.overload2 set_option]``(
       const SettableSocketOption & option,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.set_option.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::set_option (1 of 2 overloads)]
@@ -22087,10 +23129,12 @@
 
   void ``[link boost_asio.reference.basic_socket_streambuf.shutdown.overload1 shutdown]``(
       shutdown_type what);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.shutdown.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_socket_streambuf.shutdown.overload2 shutdown]``(
       shutdown_type what,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_socket_streambuf.shutdown.overload2 more...]]``
 
 
 [section:overload1 basic_socket_streambuf::shutdown (1 of 2 overloads)]
@@ -22201,6 +23245,10 @@
 
   enum shutdown_type
 
+[indexterm2 shutdown_receive..basic_socket_streambuf]
+[indexterm2 shutdown_send..basic_socket_streambuf]
+[indexterm2 shutdown_both..basic_socket_streambuf]
+
 [heading Values]
 [variablelist
 
@@ -22642,6 +23690,12 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:assign basic_stream_socket::assign]
 
 [indexterm2 assign..basic_stream_socket] Assign an existing native socket to the socket.
@@ -22649,11 +23703,13 @@
   void ``[link boost_asio.reference.basic_stream_socket.assign.overload1 assign]``(
       const protocol_type & protocol,
       const native_type & native_socket);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.assign.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_stream_socket.assign.overload2 assign]``(
       const protocol_type & protocol,
       const native_type & native_socket,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.assign.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::assign (1 of 2 overloads)]
@@ -22819,6 +23875,7 @@
   void ``[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...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``,
@@ -22827,6 +23884,7 @@
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
       ReadHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.async_receive.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::async_receive (1 of 2 overloads)]
@@ -22953,6 +24011,7 @@
   void ``[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...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``,
@@ -22961,6 +24020,7 @@
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       WriteHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.async_send.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::async_send (1 of 2 overloads)]
@@ -23137,9 +24197,11 @@
 [indexterm2 at_mark..basic_stream_socket] Determine whether the socket is at the out-of-band data mark.
 
   bool ``[link boost_asio.reference.basic_stream_socket.at_mark.overload1 at_mark]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.at_mark.overload1 more...]]``
 
   bool ``[link boost_asio.reference.basic_stream_socket.at_mark.overload2 at_mark]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.at_mark.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::at_mark (1 of 2 overloads)]
@@ -23213,9 +24275,11 @@
 [indexterm2 available..basic_stream_socket] Determine the number of bytes available for reading.
 
   std::size_t ``[link boost_asio.reference.basic_stream_socket.available.overload1 available]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.available.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.basic_stream_socket.available.overload2 available]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.available.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::available (1 of 2 overloads)]
@@ -23290,18 +24354,21 @@
 
   ``[link boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1 basic_stream_socket]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1 more...]]``
 
 Construct and open a basic_stream_socket.
 
   ``[link boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2 basic_stream_socket]``(
       boost::asio::io_service & io_service,
       const protocol_type & protocol);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2 more...]]``
 
 Construct a basic_stream_socket, opening it and binding it to the given local endpoint.
 
   ``[link boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3 basic_stream_socket]``(
       boost::asio::io_service & io_service,
       const endpoint_type & endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3 more...]]``
 
 Construct a basic_stream_socket on an existing native socket.
 
@@ -23309,6 +24376,7 @@
       boost::asio::io_service & io_service,
       const protocol_type & protocol,
       const native_type & native_socket);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4 more...]]``
 
 
 [section:overload1 basic_stream_socket::basic_stream_socket (1 of 4 overloads)]
@@ -23461,10 +24529,12 @@
 
   void ``[link boost_asio.reference.basic_stream_socket.bind.overload1 bind]``(
       const endpoint_type & endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.bind.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_stream_socket.bind.overload2 bind]``(
       const endpoint_type & endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.bind.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::bind (1 of 2 overloads)]
@@ -23606,6 +24676,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -23639,6 +24715,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -23648,9 +24730,11 @@
 [indexterm2 cancel..basic_stream_socket] Cancel all asynchronous operations associated with the socket.
 
   void ``[link boost_asio.reference.basic_stream_socket.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.cancel.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_stream_socket.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.cancel.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::cancel (1 of 2 overloads)]
@@ -23748,9 +24832,11 @@
 [indexterm2 close..basic_stream_socket] Close the socket.
 
   void ``[link boost_asio.reference.basic_stream_socket.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_stream_socket.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.close.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::close (1 of 2 overloads)]
@@ -23841,10 +24927,12 @@
 
   void ``[link boost_asio.reference.basic_stream_socket.connect.overload1 connect]``(
       const endpoint_type & peer_endpoint);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.connect.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_stream_socket.connect.overload2 connect]``(
       const endpoint_type & peer_endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.connect.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::connect (1 of 2 overloads)]
@@ -23990,6 +25078,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -24033,6 +25127,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -24076,6 +25176,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -24089,6 +25195,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -24122,10 +25234,12 @@
 
   void ``[link boost_asio.reference.basic_stream_socket.get_option.overload1 get_option]``(
       GettableSocketOption & option) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.get_option.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_stream_socket.get_option.overload2 get_option]``(
       GettableSocketOption & option,
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.get_option.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::get_option (1 of 2 overloads)]
@@ -24257,6 +25371,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -24267,10 +25387,12 @@
 
   void ``[link boost_asio.reference.basic_stream_socket.io_control.overload1 io_control]``(
       IoControlCommand & command);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.io_control.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_stream_socket.io_control.overload2 io_control]``(
       IoControlCommand & command,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.io_control.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::io_control (1 of 2 overloads)]
@@ -24452,6 +25574,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -24496,6 +25624,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -24505,9 +25639,11 @@
 [indexterm2 local_endpoint..basic_stream_socket] Get the local endpoint of the socket.
 
   endpoint_type ``[link boost_asio.reference.basic_stream_socket.local_endpoint.overload1 local_endpoint]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.local_endpoint.overload1 more...]]``
 
   endpoint_type ``[link boost_asio.reference.basic_stream_socket.local_endpoint.overload2 local_endpoint]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.local_endpoint.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::local_endpoint (1 of 2 overloads)]
@@ -24608,10 +25744,12 @@
 [indexterm2 lowest_layer..basic_stream_socket] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.basic_stream_socket.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.basic_stream_socket.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::lowest_layer (1 of 2 overloads)]
@@ -25008,6 +26146,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -25054,6 +26198,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -25114,6 +26264,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -25146,6 +26302,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -25156,10 +26318,12 @@
 
   void ``[link boost_asio.reference.basic_stream_socket.open.overload1 open]``(
       const protocol_type & protocol = protocol_type());
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.open.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_stream_socket.open.overload2 open]``(
       const protocol_type & protocol,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.open.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::open (1 of 2 overloads)]
@@ -25267,6 +26431,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -25279,12 +26449,14 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_stream_socket.read_some.overload1 read_some]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.read_some.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_stream_socket.read_some.overload2 read_some]``(
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.read_some.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::read_some (1 of 2 overloads)]
@@ -25393,12 +26565,14 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_stream_socket.receive.overload1 receive]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.receive.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_stream_socket.receive.overload2 receive]``(
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.receive.overload2 more...]]``
 
 Receive some data on a connected socket.
 
@@ -25408,6 +26582,7 @@
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.receive.overload3 more...]]``
 
 
 [section:overload1 basic_stream_socket::receive (1 of 3 overloads)]
@@ -25610,6 +26785,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -25653,6 +26834,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -25662,9 +26849,11 @@
 [indexterm2 remote_endpoint..basic_stream_socket] Get the remote endpoint of the socket.
 
   endpoint_type ``[link boost_asio.reference.basic_stream_socket.remote_endpoint.overload1 remote_endpoint]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.remote_endpoint.overload1 more...]]``
 
   endpoint_type ``[link boost_asio.reference.basic_stream_socket.remote_endpoint.overload2 remote_endpoint]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.remote_endpoint.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::remote_endpoint (1 of 2 overloads)]
@@ -25799,6 +26988,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -25811,12 +27006,14 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_stream_socket.send.overload1 send]``(
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.send.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_stream_socket.send.overload2 send]``(
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.send.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
@@ -25824,6 +27021,7 @@
       const ConstBufferSequence & buffers,
       socket_base::message_flags flags,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.send.overload3 more...]]``
 
 
 [section:overload1 basic_stream_socket::send (1 of 3 overloads)]
@@ -26026,6 +27224,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -26069,6 +27273,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -26100,6 +27310,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_stream_socket.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -26110,10 +27326,12 @@
 
   void ``[link boost_asio.reference.basic_stream_socket.set_option.overload1 set_option]``(
       const SettableSocketOption & option);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.set_option.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_stream_socket.set_option.overload2 set_option]``(
       const SettableSocketOption & option,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.set_option.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::set_option (1 of 2 overloads)]
@@ -26222,10 +27440,12 @@
 
   void ``[link boost_asio.reference.basic_stream_socket.shutdown.overload1 shutdown]``(
       shutdown_type what);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.shutdown.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.basic_stream_socket.shutdown.overload2 shutdown]``(
       shutdown_type what,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.shutdown.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::shutdown (1 of 2 overloads)]
@@ -26336,6 +27556,10 @@
 
   enum shutdown_type
 
+[indexterm2 shutdown_receive..basic_stream_socket]
+[indexterm2 shutdown_send..basic_stream_socket]
+[indexterm2 shutdown_both..basic_stream_socket]
+
 [heading Values]
 [variablelist
 
@@ -26369,12 +27593,14 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_stream_socket.write_some.overload1 write_some]``(
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.write_some.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_stream_socket.write_some.overload2 write_some]``(
       const ConstBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.basic_stream_socket.write_some.overload2 more...]]``
 
 
 [section:overload1 basic_stream_socket::write_some (1 of 2 overloads)]
@@ -26626,6 +27852,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:basic_streambuf basic_streambuf::basic_streambuf]
 
@@ -26679,6 +27911,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -26758,6 +27996,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/basic_streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -26877,57 +28121,68 @@
       
   mutable_buffers_1 ``[link boost_asio.reference.buffer.overload1 buffer]``(
       const mutable_buffer & b);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload1 more...]]``
 
   mutable_buffers_1 ``[link boost_asio.reference.buffer.overload2 buffer]``(
       const mutable_buffer & b,
       std::size_t max_size_in_bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload2 more...]]``
 
   const_buffers_1 ``[link boost_asio.reference.buffer.overload3 buffer]``(
       const const_buffer & b);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload3 more...]]``
 
   const_buffers_1 ``[link boost_asio.reference.buffer.overload4 buffer]``(
       const const_buffer & b,
       std::size_t max_size_in_bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload4 more...]]``
 
   mutable_buffers_1 ``[link boost_asio.reference.buffer.overload5 buffer]``(
       void * data,
       std::size_t size_in_bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload5 more...]]``
 
   const_buffers_1 ``[link boost_asio.reference.buffer.overload6 buffer]``(
       const void * data,
       std::size_t size_in_bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload6 more...]]``
 
   template<
       typename PodType,
       std::size_t N>
   mutable_buffers_1 ``[link boost_asio.reference.buffer.overload7 buffer]``(
- PodType & data);
+ PodType (&data)[N]);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload7 more...]]``
 
   template<
       typename PodType,
       std::size_t N>
   mutable_buffers_1 ``[link boost_asio.reference.buffer.overload8 buffer]``(
- PodType & data,
+ PodType (&data)[N],
       std::size_t max_size_in_bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload8 more...]]``
 
   template<
       typename PodType,
       std::size_t N>
   const_buffers_1 ``[link boost_asio.reference.buffer.overload9 buffer]``(
- const PodType & data);
+ const PodType (&data)[N]);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload9 more...]]``
 
   template<
       typename PodType,
       std::size_t N>
   const_buffers_1 ``[link boost_asio.reference.buffer.overload10 buffer]``(
- const PodType & data,
+ const PodType (&data)[N],
       std::size_t max_size_in_bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload10 more...]]``
 
   template<
       typename PodType,
       std::size_t N>
   mutable_buffers_1 ``[link boost_asio.reference.buffer.overload11 buffer]``(
       boost::array< PodType, N > & data);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload11 more...]]``
 
   template<
       typename PodType,
@@ -26935,12 +28190,14 @@
   mutable_buffers_1 ``[link boost_asio.reference.buffer.overload12 buffer]``(
       boost::array< PodType, N > & data,
       std::size_t max_size_in_bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload12 more...]]``
 
   template<
       typename PodType,
       std::size_t N>
   const_buffers_1 ``[link boost_asio.reference.buffer.overload13 buffer]``(
       boost::array< const PodType, N > & data);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload13 more...]]``
 
   template<
       typename PodType,
@@ -26948,12 +28205,14 @@
   const_buffers_1 ``[link boost_asio.reference.buffer.overload14 buffer]``(
       boost::array< const PodType, N > & data,
       std::size_t max_size_in_bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload14 more...]]``
 
   template<
       typename PodType,
       std::size_t N>
   const_buffers_1 ``[link boost_asio.reference.buffer.overload15 buffer]``(
       const boost::array< PodType, N > & data);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload15 more...]]``
 
   template<
       typename PodType,
@@ -26961,12 +28220,14 @@
   const_buffers_1 ``[link boost_asio.reference.buffer.overload16 buffer]``(
       const boost::array< PodType, N > & data,
       std::size_t max_size_in_bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload16 more...]]``
 
   template<
       typename PodType,
       typename Allocator>
   mutable_buffers_1 ``[link boost_asio.reference.buffer.overload17 buffer]``(
       std::vector< PodType, Allocator > & data);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload17 more...]]``
 
   template<
       typename PodType,
@@ -26974,12 +28235,14 @@
   mutable_buffers_1 ``[link boost_asio.reference.buffer.overload18 buffer]``(
       std::vector< PodType, Allocator > & data,
       std::size_t max_size_in_bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload18 more...]]``
 
   template<
       typename PodType,
       typename Allocator>
   const_buffers_1 ``[link boost_asio.reference.buffer.overload19 buffer]``(
       const std::vector< PodType, Allocator > & data);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload19 more...]]``
 
   template<
       typename PodType,
@@ -26987,13 +28250,16 @@
   const_buffers_1 ``[link boost_asio.reference.buffer.overload20 buffer]``(
       const std::vector< PodType, Allocator > & data,
       std::size_t max_size_in_bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload20 more...]]``
 
   const_buffers_1 ``[link boost_asio.reference.buffer.overload21 buffer]``(
       const std::string & data);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload21 more...]]``
 
   const_buffers_1 ``[link boost_asio.reference.buffer.overload22 buffer]``(
       const std::string & data,
       std::size_t max_size_in_bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.buffer.overload22 more...]]``
 
 A buffer object represents a contiguous region of memory as a 2-tuple consisting of a pointer and size in bytes. A tuple of the form `{void*, size_t}` specifies a mutable (modifiable) region of memory. Similarly, a tuple of the form `{const void*, size_t}` specifies a const (non-modifiable) region of memory. These two forms correspond to the classes mutable_buffer and const_buffer, respectively. To mirror C++'s conversion rules, a mutable_buffer is implicitly convertible to a const_buffer, and the opposite conversion is not permitted.
 
@@ -27143,6 +28409,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:overload1 buffer (1 of 22 overloads)]
 
@@ -27284,7 +28556,7 @@
       typename PodType,
       std::size_t N>
   mutable_buffers_1 buffer(
- PodType & data);
+ PodType (&data)[N]);
 
 
 
@@ -27313,7 +28585,7 @@
       typename PodType,
       std::size_t N>
   mutable_buffers_1 buffer(
- PodType & data,
+ PodType (&data)[N],
       std::size_t max_size_in_bytes);
 
 
@@ -27343,7 +28615,7 @@
       typename PodType,
       std::size_t N>
   const_buffers_1 buffer(
- const PodType & data);
+ const PodType (&data)[N]);
 
 
 
@@ -27372,7 +28644,7 @@
       typename PodType,
       std::size_t N>
   const_buffers_1 buffer(
- const PodType & data,
+ const PodType (&data)[N],
       std::size_t max_size_in_bytes);
 
 
@@ -27897,6 +29169,12 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffered_read_stream.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:async_fill buffered_read_stream::async_fill]
 
@@ -27954,12 +29232,14 @@
       typename Arg>
   ``[link boost_asio.reference.buffered_read_stream.buffered_read_stream.overload1 buffered_read_stream]``(
       Arg & a);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.buffered_read_stream.overload1 more...]]``
 
   template<
       typename Arg>
   ``[link boost_asio.reference.buffered_read_stream.buffered_read_stream.overload2 buffered_read_stream]``(
       Arg & a,
       std::size_t buffer_size);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.buffered_read_stream.overload2 more...]]``
 
 
 [section:overload1 buffered_read_stream::buffered_read_stream (1 of 2 overloads)]
@@ -27999,9 +29279,11 @@
 [indexterm2 close..buffered_read_stream] Close the stream.
 
   void ``[link boost_asio.reference.buffered_read_stream.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.buffered_read_stream.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.close.overload2 more...]]``
 
 
 [section:overload1 buffered_read_stream::close (1 of 2 overloads)]
@@ -28047,11 +29329,13 @@
 [indexterm2 fill..buffered_read_stream] Fill the buffer with some data. Returns the number of bytes placed in the buffer as a result of the operation. Throws an exception on failure.
 
   std::size_t ``[link boost_asio.reference.buffered_read_stream.fill.overload1 fill]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.fill.overload1 more...]]``
 
 Fill the buffer with some data. Returns the number of bytes placed in the buffer as a result of the operation, or 0 if an error occurred.
 
   std::size_t ``[link boost_asio.reference.buffered_read_stream.fill.overload2 fill]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.fill.overload2 more...]]``
 
 
 [section:overload1 buffered_read_stream::fill (1 of 2 overloads)]
@@ -28097,9 +29381,11 @@
 [indexterm2 in_avail..buffered_read_stream] Determine the amount of data that may be read without blocking.
 
   std::size_t ``[link boost_asio.reference.buffered_read_stream.in_avail.overload1 in_avail]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.in_avail.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.buffered_read_stream.in_avail.overload2 in_avail]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.in_avail.overload2 more...]]``
 
 
 [section:overload1 buffered_read_stream::in_avail (1 of 2 overloads)]
@@ -28145,10 +29431,12 @@
 [indexterm2 lowest_layer..buffered_read_stream] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.buffered_read_stream.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.buffered_read_stream.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 buffered_read_stream::lowest_layer (1 of 2 overloads)]
@@ -28185,6 +29473,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffered_read_stream.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -28210,6 +29504,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffered_read_stream.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -28222,6 +29522,7 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_read_stream.peek.overload1 peek]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.peek.overload1 more...]]``
 
 Peek at the incoming data on the stream. Returns the number of bytes read, or 0 if an error occurred.
 
@@ -28230,6 +29531,7 @@
   std::size_t ``[link boost_asio.reference.buffered_read_stream.peek.overload2 peek]``(
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.peek.overload2 more...]]``
 
 
 [section:overload1 buffered_read_stream::peek (1 of 2 overloads)]
@@ -28272,6 +29574,7 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_read_stream.read_some.overload1 read_some]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.read_some.overload1 more...]]``
 
 Read some data from the stream. Returns the number of bytes read or 0 if an error occurred.
 
@@ -28280,6 +29583,7 @@
   std::size_t ``[link boost_asio.reference.buffered_read_stream.read_some.overload2 read_some]``(
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.read_some.overload2 more...]]``
 
 
 [section:overload1 buffered_read_stream::read_some (1 of 2 overloads)]
@@ -28322,6 +29626,7 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_read_stream.write_some.overload1 write_some]``(
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.write_some.overload1 more...]]``
 
 Write the given data to the stream. Returns the number of bytes written, or 0 if an error occurred.
 
@@ -28330,6 +29635,7 @@
   std::size_t ``[link boost_asio.reference.buffered_read_stream.write_some.overload2 write_some]``(
       const ConstBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_read_stream.write_some.overload2 more...]]``
 
 
 [section:overload1 buffered_read_stream::write_some (1 of 2 overloads)]
@@ -28505,6 +29811,12 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffered_stream.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:async_fill buffered_stream::async_fill]
 
@@ -28577,6 +29889,7 @@
       typename Arg>
   ``[link boost_asio.reference.buffered_stream.buffered_stream.overload1 buffered_stream]``(
       Arg & a);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.buffered_stream.overload1 more...]]``
 
   template<
       typename Arg>
@@ -28584,6 +29897,7 @@
       Arg & a,
       std::size_t read_buffer_size,
       std::size_t write_buffer_size);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.buffered_stream.overload2 more...]]``
 
 
 [section:overload1 buffered_stream::buffered_stream (1 of 2 overloads)]
@@ -28624,9 +29938,11 @@
 [indexterm2 close..buffered_stream] Close the stream.
 
   void ``[link boost_asio.reference.buffered_stream.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.buffered_stream.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.close.overload2 more...]]``
 
 
 [section:overload1 buffered_stream::close (1 of 2 overloads)]
@@ -28660,11 +29976,13 @@
 [indexterm2 fill..buffered_stream] Fill the buffer with some data. Returns the number of bytes placed in the buffer as a result of the operation. Throws an exception on failure.
 
   std::size_t ``[link boost_asio.reference.buffered_stream.fill.overload1 fill]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.fill.overload1 more...]]``
 
 Fill the buffer with some data. Returns the number of bytes placed in the buffer as a result of the operation, or 0 if an error occurred.
 
   std::size_t ``[link boost_asio.reference.buffered_stream.fill.overload2 fill]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.fill.overload2 more...]]``
 
 
 [section:overload1 buffered_stream::fill (1 of 2 overloads)]
@@ -28698,11 +30016,13 @@
 [indexterm2 flush..buffered_stream] Flush all data from the buffer to the next layer. Returns the number of bytes written to the next layer on the last write operation. Throws an exception on failure.
 
   std::size_t ``[link boost_asio.reference.buffered_stream.flush.overload1 flush]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.flush.overload1 more...]]``
 
 Flush all data from the buffer to the next layer. Returns the number of bytes written to the next layer on the last write operation, or 0 if an error occurred.
 
   std::size_t ``[link boost_asio.reference.buffered_stream.flush.overload2 flush]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.flush.overload2 more...]]``
 
 
 [section:overload1 buffered_stream::flush (1 of 2 overloads)]
@@ -28748,9 +30068,11 @@
 [indexterm2 in_avail..buffered_stream] Determine the amount of data that may be read without blocking.
 
   std::size_t ``[link boost_asio.reference.buffered_stream.in_avail.overload1 in_avail]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.in_avail.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.buffered_stream.in_avail.overload2 in_avail]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.in_avail.overload2 more...]]``
 
 
 [section:overload1 buffered_stream::in_avail (1 of 2 overloads)]
@@ -28796,10 +30118,12 @@
 [indexterm2 lowest_layer..buffered_stream] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.buffered_stream.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.buffered_stream.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 buffered_stream::lowest_layer (1 of 2 overloads)]
@@ -28836,6 +30160,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffered_stream.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -28861,6 +30191,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffered_stream.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -28873,6 +30209,7 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_stream.peek.overload1 peek]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.peek.overload1 more...]]``
 
 Peek at the incoming data on the stream. Returns the number of bytes read, or 0 if an error occurred.
 
@@ -28881,6 +30218,7 @@
   std::size_t ``[link boost_asio.reference.buffered_stream.peek.overload2 peek]``(
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.peek.overload2 more...]]``
 
 
 [section:overload1 buffered_stream::peek (1 of 2 overloads)]
@@ -28923,6 +30261,7 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_stream.read_some.overload1 read_some]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.read_some.overload1 more...]]``
 
 Read some data from the stream. Returns the number of bytes read or 0 if an error occurred.
 
@@ -28931,6 +30270,7 @@
   std::size_t ``[link boost_asio.reference.buffered_stream.read_some.overload2 read_some]``(
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.read_some.overload2 more...]]``
 
 
 [section:overload1 buffered_stream::read_some (1 of 2 overloads)]
@@ -28973,6 +30313,7 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_stream.write_some.overload1 write_some]``(
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.write_some.overload1 more...]]``
 
 Write the given data to the stream. Returns the number of bytes written, or 0 if an error occurred.
 
@@ -28981,6 +30322,7 @@
   std::size_t ``[link boost_asio.reference.buffered_stream.write_some.overload2 write_some]``(
       const ConstBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_stream.write_some.overload2 more...]]``
 
 
 [section:overload1 buffered_stream::write_some (1 of 2 overloads)]
@@ -29155,6 +30497,12 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffered_write_stream.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:async_flush buffered_write_stream::async_flush]
 
@@ -29212,12 +30560,14 @@
       typename Arg>
   ``[link boost_asio.reference.buffered_write_stream.buffered_write_stream.overload1 buffered_write_stream]``(
       Arg & a);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.buffered_write_stream.overload1 more...]]``
 
   template<
       typename Arg>
   ``[link boost_asio.reference.buffered_write_stream.buffered_write_stream.overload2 buffered_write_stream]``(
       Arg & a,
       std::size_t buffer_size);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.buffered_write_stream.overload2 more...]]``
 
 
 [section:overload1 buffered_write_stream::buffered_write_stream (1 of 2 overloads)]
@@ -29257,9 +30607,11 @@
 [indexterm2 close..buffered_write_stream] Close the stream.
 
   void ``[link boost_asio.reference.buffered_write_stream.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.buffered_write_stream.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.close.overload2 more...]]``
 
 
 [section:overload1 buffered_write_stream::close (1 of 2 overloads)]
@@ -29305,11 +30657,13 @@
 [indexterm2 flush..buffered_write_stream] Flush all data from the buffer to the next layer. Returns the number of bytes written to the next layer on the last write operation. Throws an exception on failure.
 
   std::size_t ``[link boost_asio.reference.buffered_write_stream.flush.overload1 flush]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.flush.overload1 more...]]``
 
 Flush all data from the buffer to the next layer. Returns the number of bytes written to the next layer on the last write operation, or 0 if an error occurred.
 
   std::size_t ``[link boost_asio.reference.buffered_write_stream.flush.overload2 flush]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.flush.overload2 more...]]``
 
 
 [section:overload1 buffered_write_stream::flush (1 of 2 overloads)]
@@ -29355,9 +30709,11 @@
 [indexterm2 in_avail..buffered_write_stream] Determine the amount of data that may be read without blocking.
 
   std::size_t ``[link boost_asio.reference.buffered_write_stream.in_avail.overload1 in_avail]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.in_avail.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.buffered_write_stream.in_avail.overload2 in_avail]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.in_avail.overload2 more...]]``
 
 
 [section:overload1 buffered_write_stream::in_avail (1 of 2 overloads)]
@@ -29403,10 +30759,12 @@
 [indexterm2 lowest_layer..buffered_write_stream] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.buffered_write_stream.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.buffered_write_stream.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 buffered_write_stream::lowest_layer (1 of 2 overloads)]
@@ -29443,6 +30801,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffered_write_stream.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -29468,6 +30832,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffered_write_stream.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -29480,6 +30850,7 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_write_stream.peek.overload1 peek]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.peek.overload1 more...]]``
 
 Peek at the incoming data on the stream. Returns the number of bytes read, or 0 if an error occurred.
 
@@ -29488,6 +30859,7 @@
   std::size_t ``[link boost_asio.reference.buffered_write_stream.peek.overload2 peek]``(
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.peek.overload2 more...]]``
 
 
 [section:overload1 buffered_write_stream::peek (1 of 2 overloads)]
@@ -29530,6 +30902,7 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_write_stream.read_some.overload1 read_some]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.read_some.overload1 more...]]``
 
 Read some data from the stream. Returns the number of bytes read or 0 if an error occurred.
 
@@ -29538,6 +30911,7 @@
   std::size_t ``[link boost_asio.reference.buffered_write_stream.read_some.overload2 read_some]``(
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.read_some.overload2 more...]]``
 
 
 [section:overload1 buffered_write_stream::read_some (1 of 2 overloads)]
@@ -29580,6 +30954,7 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_write_stream.write_some.overload1 write_some]``(
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.write_some.overload1 more...]]``
 
 Write the given data to the stream. Returns the number of bytes written, or 0 if an error occurred and the error handler did not throw.
 
@@ -29588,6 +30963,7 @@
   std::size_t ``[link boost_asio.reference.buffered_write_stream.write_some.overload2 write_some]``(
       const ConstBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.buffered_write_stream.write_some.overload2 more...]]``
 
 
 [section:overload1 buffered_write_stream::write_some (1 of 2 overloads)]
@@ -29636,6 +31012,12 @@
       const BufferSequence & buffers);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffers_iterator.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -29651,6 +31033,12 @@
       const BufferSequence & buffers);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffers_iterator.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -29686,6 +31074,12 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffers_iterator.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:begin buffers_iterator::begin]
 
@@ -29772,6 +31166,12 @@
 
 The const_buffer class provides a safe representation of a buffer that cannot be modified. It does not own the underlying data, and so is cheap to copy or assign.
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:buffer_cast const_buffer::buffer_cast]
 
@@ -29805,17 +31205,20 @@
 [indexterm2 const_buffer..const_buffer] Construct an empty buffer.
 
   ``[link boost_asio.reference.const_buffer.const_buffer.overload1 const_buffer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.const_buffer.const_buffer.overload1 more...]]``
 
 Construct a buffer to represent a given memory range.
 
   ``[link boost_asio.reference.const_buffer.const_buffer.overload2 const_buffer]``(
       const void * data,
       std::size_t size);
+ `` [''''&raquo;''' [link boost_asio.reference.const_buffer.const_buffer.overload2 more...]]``
 
 Construct a non-modifiable buffer from a modifiable one.
 
   ``[link boost_asio.reference.const_buffer.const_buffer.overload3 const_buffer]``(
       const mutable_buffer & b);
+ `` [''''&raquo;''' [link boost_asio.reference.const_buffer.const_buffer.overload3 more...]]``
 
 
 [section:overload1 const_buffer::const_buffer (1 of 3 overloads)]
@@ -29865,10 +31268,12 @@
   const_buffer ``[link boost_asio.reference.const_buffer.operator_plus_.overload1 operator+]``(
       const const_buffer & b,
       std::size_t start);
+ `` [''''&raquo;''' [link boost_asio.reference.const_buffer.operator_plus_.overload1 more...]]``
 
   const_buffer ``[link boost_asio.reference.const_buffer.operator_plus_.overload2 operator+]``(
       std::size_t start,
       const const_buffer & b);
+ `` [''''&raquo;''' [link boost_asio.reference.const_buffer.operator_plus_.overload2 more...]]``
 
 
 [section:overload1 const_buffer::operator+ (1 of 2 overloads)]
@@ -29975,6 +31380,12 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:begin const_buffers_1::begin]
 
@@ -30028,11 +31439,13 @@
   ``[link boost_asio.reference.const_buffers_1.const_buffers_1.overload1 const_buffers_1]``(
       const void * data,
       std::size_t size);
+ `` [''''&raquo;''' [link boost_asio.reference.const_buffers_1.const_buffers_1.overload1 more...]]``
 
 Construct to represent a single non-modifiable buffer.
 
   ``[link boost_asio.reference.const_buffers_1.const_buffers_1.overload2 const_buffers_1]``(
       const const_buffer & b);
+ `` [''''&raquo;''' [link boost_asio.reference.const_buffers_1.const_buffers_1.overload2 more...]]``
 
 
 [section:overload1 const_buffers_1::const_buffers_1 (1 of 2 overloads)]
@@ -30072,6 +31485,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -30095,10 +31514,12 @@
   const_buffer ``[link boost_asio.reference.const_buffers_1.operator_plus_.overload1 operator+]``(
       const const_buffer & b,
       std::size_t start);
+ `` [''''&raquo;''' [link boost_asio.reference.const_buffers_1.operator_plus_.overload1 more...]]``
 
   const_buffer ``[link boost_asio.reference.const_buffers_1.operator_plus_.overload2 operator+]``(
       std::size_t start,
       const const_buffer & b);
+ `` [''''&raquo;''' [link boost_asio.reference.const_buffers_1.operator_plus_.overload2 more...]]``
 
 
 [section:overload1 const_buffers_1::operator+ (1 of 2 overloads)]
@@ -30183,14 +31604,20 @@
 The const_buffer class provides a safe representation of a buffer that cannot be modified. It does not own the underlying data, and so is cheap to copy or assign.
 
 
+[heading Requirements]
 
-[endsect]
+[*Header: ][^boost/asio/buffer.hpp]
 
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [endsect]
 
-[section:datagram_socket_service datagram_socket_service]
+
+
+[endsect]
+
+[section:datagram_socket_service datagram_socket_service]
 
 Default service implementation for a datagram socket.
 
@@ -30406,6 +31833,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/datagram_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:assign datagram_socket_service::assign]
 
@@ -30651,6 +32084,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/datagram_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -30708,6 +32147,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/datagram_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -30793,6 +32238,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/datagram_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -30821,6 +32272,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/datagram_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31167,6 +32624,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/deadline_timer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31292,6 +32755,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/deadline_timer_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:async_wait deadline_timer_service::async_wait]
 
@@ -31370,6 +32839,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/deadline_timer_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31380,6 +32855,7 @@
 
   time_type ``[link boost_asio.reference.deadline_timer_service.expires_at.overload1 expires_at]``(
       const implementation_type & impl) const;
+ `` [''''&raquo;''' [link boost_asio.reference.deadline_timer_service.expires_at.overload1 more...]]``
 
 Set the expiry time for the timer as an absolute time.
 
@@ -31387,6 +32863,7 @@
       implementation_type & impl,
       const time_type & expiry_time,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.deadline_timer_service.expires_at.overload2 more...]]``
 
 
 [section:overload1 deadline_timer_service::expires_at (1 of 2 overloads)]
@@ -31424,6 +32901,7 @@
 
   duration_type ``[link boost_asio.reference.deadline_timer_service.expires_from_now.overload1 expires_from_now]``(
       const implementation_type & impl) const;
+ `` [''''&raquo;''' [link boost_asio.reference.deadline_timer_service.expires_from_now.overload1 more...]]``
 
 Set the expiry time for the timer relative to now.
 
@@ -31431,6 +32909,7 @@
       implementation_type & impl,
       const duration_type & expiry_time,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.deadline_timer_service.expires_from_now.overload2 more...]]``
 
 
 [section:overload1 deadline_timer_service::expires_from_now (1 of 2 overloads)]
@@ -31498,6 +32977,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/deadline_timer_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31538,6 +33023,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/deadline_timer_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31551,6 +33042,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/deadline_timer_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31580,6 +33077,12 @@
   static const boost::system::error_category & addrinfo_category = boost::asio::error::get_addrinfo_category();
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31591,6 +33094,9 @@
 
   enum addrinfo_errors
 
+[indexterm2 service_not_found..error::addrinfo_errors]
+[indexterm2 socket_type_not_supported..error::addrinfo_errors]
+
 [heading Values]
 [variablelist
 
@@ -31607,6 +33113,12 @@
 ]
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31618,6 +33130,40 @@
 
   enum basic_errors
 
+[indexterm2 access_denied..error::basic_errors]
+[indexterm2 address_family_not_supported..error::basic_errors]
+[indexterm2 address_in_use..error::basic_errors]
+[indexterm2 already_connected..error::basic_errors]
+[indexterm2 already_started..error::basic_errors]
+[indexterm2 broken_pipe..error::basic_errors]
+[indexterm2 connection_aborted..error::basic_errors]
+[indexterm2 connection_refused..error::basic_errors]
+[indexterm2 connection_reset..error::basic_errors]
+[indexterm2 bad_descriptor..error::basic_errors]
+[indexterm2 fault..error::basic_errors]
+[indexterm2 host_unreachable..error::basic_errors]
+[indexterm2 in_progress..error::basic_errors]
+[indexterm2 interrupted..error::basic_errors]
+[indexterm2 invalid_argument..error::basic_errors]
+[indexterm2 message_size..error::basic_errors]
+[indexterm2 name_too_long..error::basic_errors]
+[indexterm2 network_down..error::basic_errors]
+[indexterm2 network_reset..error::basic_errors]
+[indexterm2 network_unreachable..error::basic_errors]
+[indexterm2 no_descriptors..error::basic_errors]
+[indexterm2 no_buffer_space..error::basic_errors]
+[indexterm2 no_memory..error::basic_errors]
+[indexterm2 no_permission..error::basic_errors]
+[indexterm2 no_protocol_option..error::basic_errors]
+[indexterm2 not_connected..error::basic_errors]
+[indexterm2 not_socket..error::basic_errors]
+[indexterm2 operation_aborted..error::basic_errors]
+[indexterm2 operation_not_supported..error::basic_errors]
+[indexterm2 shut_down..error::basic_errors]
+[indexterm2 timed_out..error::basic_errors]
+[indexterm2 try_again..error::basic_errors]
+[indexterm2 would_block..error::basic_errors]
+
 [heading Values]
 [variablelist
 
@@ -31789,6 +33335,12 @@
 ]
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31801,6 +33353,12 @@
   const boost::system::error_category & get_addrinfo_category();
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31813,6 +33371,12 @@
   const boost::system::error_category & get_misc_category();
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31825,6 +33389,12 @@
   const boost::system::error_category & get_netdb_category();
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31837,6 +33407,12 @@
   const boost::system::error_category & get_ssl_category();
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31849,6 +33425,12 @@
   const boost::system::error_category & get_system_category();
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31859,18 +33441,29 @@
     
   boost::system::error_code ``[link boost_asio.reference.error__make_error_code.overload1 make_error_code]``(
       basic_errors e);
+ `` [''''&raquo;''' [link boost_asio.reference.error__make_error_code.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.error__make_error_code.overload2 make_error_code]``(
       netdb_errors e);
+ `` [''''&raquo;''' [link boost_asio.reference.error__make_error_code.overload2 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.error__make_error_code.overload3 make_error_code]``(
       addrinfo_errors e);
+ `` [''''&raquo;''' [link boost_asio.reference.error__make_error_code.overload3 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.error__make_error_code.overload4 make_error_code]``(
       misc_errors e);
+ `` [''''&raquo;''' [link boost_asio.reference.error__make_error_code.overload4 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.error__make_error_code.overload5 make_error_code]``(
       ssl_errors e);
+ `` [''''&raquo;''' [link boost_asio.reference.error__make_error_code.overload5 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 error::make_error_code (1 of 5 overloads)]
@@ -31947,6 +33540,12 @@
   static const boost::system::error_category & misc_category = boost::asio::error::get_misc_category();
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31958,6 +33557,11 @@
 
   enum misc_errors
 
+[indexterm2 already_open..error::misc_errors]
+[indexterm2 eof..error::misc_errors]
+[indexterm2 not_found..error::misc_errors]
+[indexterm2 fd_set_failure..error::misc_errors]
+
 [heading Values]
 [variablelist
 
@@ -31984,6 +33588,12 @@
 ]
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -31996,6 +33606,12 @@
   static const boost::system::error_category & netdb_category = boost::asio::error::get_netdb_category();
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -32007,6 +33623,11 @@
 
   enum netdb_errors
 
+[indexterm2 host_not_found..error::netdb_errors]
+[indexterm2 host_not_found_try_again..error::netdb_errors]
+[indexterm2 no_data..error::netdb_errors]
+[indexterm2 no_recovery..error::netdb_errors]
+
 [heading Values]
 [variablelist
 
@@ -32033,6 +33654,12 @@
 ]
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -32045,6 +33672,12 @@
   static const boost::system::error_category & ssl_category = boost::asio::error::get_ssl_category();
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -32057,6 +33690,12 @@
   enum ssl_errors
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -32069,6 +33708,12 @@
   static const boost::system::error_category & system_category = boost::asio::error::get_system_category();
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -32101,6 +33746,12 @@
 A boolean indicating whether the io_service contains the service.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/io_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -32123,6 +33774,12 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/io_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:invalid_service_owner invalid_service_owner::invalid_service_owner]
 
@@ -32344,6 +34001,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/io_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:add_service io_service::add_service]
 
@@ -32386,6 +34049,12 @@
 ]
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/io_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -32452,6 +34121,12 @@
 A boolean indicating whether the io_service contains the service.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/io_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -32461,9 +34136,11 @@
 [indexterm2 io_service..io_service] Constructor.
 
   ``[link boost_asio.reference.io_service.io_service.overload1 io_service]``();
+ `` [''''&raquo;''' [link boost_asio.reference.io_service.io_service.overload1 more...]]``
 
   ``[link boost_asio.reference.io_service.io_service.overload2 io_service]``(
       std::size_t concurrency_hint);
+ `` [''''&raquo;''' [link boost_asio.reference.io_service.io_service.overload2 more...]]``
 
 
 [section:overload1 io_service::io_service (1 of 2 overloads)]
@@ -32510,9 +34187,11 @@
 [indexterm2 poll..io_service] Run the io_service's event processing loop to execute ready handlers.
 
   std::size_t ``[link boost_asio.reference.io_service.poll.overload1 poll]``();
+ `` [''''&raquo;''' [link boost_asio.reference.io_service.poll.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.io_service.poll.overload2 poll]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.io_service.poll.overload2 more...]]``
 
 
 [section:overload1 io_service::poll (1 of 2 overloads)]
@@ -32580,9 +34259,11 @@
 [indexterm2 poll_one..io_service] Run the io_service's event processing loop to execute one ready handler.
 
   std::size_t ``[link boost_asio.reference.io_service.poll_one.overload1 poll_one]``();
+ `` [''''&raquo;''' [link boost_asio.reference.io_service.poll_one.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.io_service.poll_one.overload2 poll_one]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.io_service.poll_one.overload2 more...]]``
 
 
 [section:overload1 io_service::poll_one (1 of 2 overloads)]
@@ -32700,9 +34381,11 @@
 [indexterm2 run..io_service] Run the io_service's event processing loop.
 
   std::size_t ``[link boost_asio.reference.io_service.run.overload1 run]``();
+ `` [''''&raquo;''' [link boost_asio.reference.io_service.run.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.io_service.run.overload2 run]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.io_service.run.overload2 more...]]``
 
 
 [section:overload1 io_service::run (1 of 2 overloads)]
@@ -32786,9 +34469,11 @@
 [indexterm2 run_one..io_service] Run the io_service's event processing loop to execute at most one handler.
 
   std::size_t ``[link boost_asio.reference.io_service.run_one.overload1 run_one]``();
+ `` [''''&raquo;''' [link boost_asio.reference.io_service.run_one.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.io_service.run_one.overload2 run_one]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.io_service.run_one.overload2 more...]]``
 
 
 [section:overload1 io_service::run_one (1 of 2 overloads)]
@@ -32893,6 +34578,12 @@
 The service interface implementing the specified service type. Ownership of the service interface is not transferred to the caller.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/io_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -32987,6 +34678,12 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/io_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:id io_service::id::id]
 
@@ -33042,6 +34739,12 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/io_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:get_io_service io_service::service::get_io_service]
 
@@ -33163,6 +34866,12 @@
 [*Shared] [*objects:] Safe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/strand.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:dispatch io_service::strand::dispatch]
 
@@ -33413,6 +35122,12 @@
 
 The work class is copy-constructible so that it may be used as a data member in a handler class. It is not assignable.
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/io_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:get_io_service io_service::work::get_io_service]
 
@@ -33443,11 +35158,13 @@
 
   ``[link boost_asio.reference.io_service__work.work.overload1 work]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.io_service__work.work.overload1 more...]]``
 
 Copy constructor notifies the io_service that work is starting.
 
   ``[link boost_asio.reference.io_service__work.work.overload2 work]``(
       const work & other);
+ `` [''''&raquo;''' [link boost_asio.reference.io_service__work.work.overload2 more...]]``
 
 
 [section:overload1 io_service::work::work (1 of 2 overloads)]
@@ -33604,26 +35321,36 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:address ip::address::address]
 
 [indexterm2 address..ip::address] Default constructor.
 
   ``[link boost_asio.reference.ip__address.address.overload1 address]``();
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.address.overload1 more...]]``
 
 Construct an address from an IPv4 address.
 
   ``[link boost_asio.reference.ip__address.address.overload2 address]``(
       const boost::asio::ip::address_v4 & ipv4_address);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.address.overload2 more...]]``
 
 Construct an address from an IPv6 address.
 
   ``[link boost_asio.reference.ip__address.address.overload3 address]``(
       const boost::asio::ip::address_v6 & ipv6_address);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.address.overload3 more...]]``
 
 Copy constructor.
 
   ``[link boost_asio.reference.ip__address.address.overload4 address]``(
       const address & other);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.address.overload4 more...]]``
 
 
 [section:overload1 ip::address::address (1 of 4 overloads)]
@@ -33684,17 +35411,21 @@
 
   static address ``[link boost_asio.reference.ip__address.from_string.overload1 from_string]``(
       const char * str);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.from_string.overload1 more...]]``
 
   static address ``[link boost_asio.reference.ip__address.from_string.overload2 from_string]``(
       const char * str,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.from_string.overload2 more...]]``
 
   static address ``[link boost_asio.reference.ip__address.from_string.overload3 from_string]``(
       const std::string & str);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.from_string.overload3 more...]]``
 
   static address ``[link boost_asio.reference.ip__address.from_string.overload4 from_string]``(
       const std::string & str,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.from_string.overload4 more...]]``
 
 
 [section:overload1 ip::address::from_string (1 of 4 overloads)]
@@ -33786,6 +35517,12 @@
       const address & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -33800,6 +35537,12 @@
       const address & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -33846,16 +35589,19 @@
 
   address & ``[link boost_asio.reference.ip__address.operator_eq_.overload1 operator=]``(
       const address & other);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.operator_eq_.overload1 more...]]``
 
 Assign from an IPv4 address.
 
   address & ``[link boost_asio.reference.ip__address.operator_eq_.overload2 operator=]``(
       const boost::asio::ip::address_v4 & ipv4_address);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.operator_eq_.overload2 more...]]``
 
 Assign from an IPv6 address.
 
   address & ``[link boost_asio.reference.ip__address.operator_eq_.overload3 operator=]``(
       const boost::asio::ip::address_v6 & ipv6_address);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.operator_eq_.overload3 more...]]``
 
 
 [section:overload1 ip::address::operator= (1 of 3 overloads)]
@@ -33908,6 +35654,12 @@
       const address & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -33917,9 +35669,11 @@
 [indexterm2 to_string..ip::address] Get the address as a string in dotted decimal format.
 
   std::string ``[link boost_asio.reference.ip__address.to_string.overload1 to_string]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.to_string.overload1 more...]]``
 
   std::string ``[link boost_asio.reference.ip__address.to_string.overload2 to_string]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address.to_string.overload2 more...]]``
 
 
 [section:overload1 ip::address::to_string (1 of 2 overloads)]
@@ -34137,26 +35891,36 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v4.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:address_v4 ip::address_v4::address_v4]
 
 [indexterm2 address_v4..ip::address_v4] Default constructor.
 
   ``[link boost_asio.reference.ip__address_v4.address_v4.overload1 address_v4]``();
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v4.address_v4.overload1 more...]]``
 
 Construct an address from raw bytes.
 
   ``[link boost_asio.reference.ip__address_v4.address_v4.overload2 address_v4]``(
       const bytes_type & bytes);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v4.address_v4.overload2 more...]]``
 
 Construct an address from a unsigned long in host byte order.
 
   ``[link boost_asio.reference.ip__address_v4.address_v4.overload3 address_v4]``(
       unsigned long addr);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v4.address_v4.overload3 more...]]``
 
 Copy constructor.
 
   ``[link boost_asio.reference.ip__address_v4.address_v4.overload4 address_v4]``(
       const address_v4 & other);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v4.address_v4.overload4 more...]]``
 
 
 [section:overload1 ip::address_v4::address_v4 (1 of 4 overloads)]
@@ -34228,12 +35992,14 @@
 [indexterm2 broadcast..ip::address_v4] Obtain an address object that represents the broadcast address.
 
   static address_v4 ``[link boost_asio.reference.ip__address_v4.broadcast.overload1 broadcast]``();
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v4.broadcast.overload1 more...]]``
 
 Obtain an address object that represents the broadcast address that corresponds to the specified address and netmask.
 
   static address_v4 ``[link boost_asio.reference.ip__address_v4.broadcast.overload2 broadcast]``(
       const address_v4 & addr,
       const address_v4 & mask);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v4.broadcast.overload2 more...]]``
 
 
 [section:overload1 ip::address_v4::broadcast (1 of 2 overloads)]
@@ -34272,6 +36038,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v4.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -34282,17 +36054,21 @@
 
   static address_v4 ``[link boost_asio.reference.ip__address_v4.from_string.overload1 from_string]``(
       const char * str);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v4.from_string.overload1 more...]]``
 
   static address_v4 ``[link boost_asio.reference.ip__address_v4.from_string.overload2 from_string]``(
       const char * str,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v4.from_string.overload2 more...]]``
 
   static address_v4 ``[link boost_asio.reference.ip__address_v4.from_string.overload3 from_string]``(
       const std::string & str);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v4.from_string.overload3 more...]]``
 
   static address_v4 ``[link boost_asio.reference.ip__address_v4.from_string.overload4 from_string]``(
       const std::string & str,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v4.from_string.overload4 more...]]``
 
 
 [section:overload1 ip::address_v4::from_string (1 of 4 overloads)]
@@ -34433,6 +36209,12 @@
       const address_v4 & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v4.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -34447,6 +36229,12 @@
       const address_v4 & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v4.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -34497,6 +36285,12 @@
       const address_v4 & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v4.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -34524,6 +36318,12 @@
       const address_v4 & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v4.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -34538,6 +36338,12 @@
       const address_v4 & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v4.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -34552,6 +36358,12 @@
       const address_v4 & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v4.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -34573,9 +36385,11 @@
 [indexterm2 to_string..ip::address_v4] Get the address as a string in dotted decimal format.
 
   std::string ``[link boost_asio.reference.ip__address_v4.to_string.overload1 to_string]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v4.to_string.overload1 more...]]``
 
   std::string ``[link boost_asio.reference.ip__address_v4.to_string.overload2 to_string]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v4.to_string.overload2 more...]]``
 
 
 [section:overload1 ip::address_v4::to_string (1 of 2 overloads)]
@@ -34822,22 +36636,31 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v6.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:address_v6 ip::address_v6::address_v6]
 
 [indexterm2 address_v6..ip::address_v6] Default constructor.
 
   ``[link boost_asio.reference.ip__address_v6.address_v6.overload1 address_v6]``();
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v6.address_v6.overload1 more...]]``
 
 Construct an address from raw bytes and scope ID.
 
   ``[link boost_asio.reference.ip__address_v6.address_v6.overload2 address_v6]``(
       const bytes_type & bytes,
       unsigned long scope_id = 0);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v6.address_v6.overload2 more...]]``
 
 Copy constructor.
 
   ``[link boost_asio.reference.ip__address_v6.address_v6.overload3 address_v6]``(
       const address_v6 & other);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v6.address_v6.overload3 more...]]``
 
 
 [section:overload1 ip::address_v6::address_v6 (1 of 3 overloads)]
@@ -34901,6 +36724,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v6.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -34911,17 +36740,21 @@
 
   static address_v6 ``[link boost_asio.reference.ip__address_v6.from_string.overload1 from_string]``(
       const char * str);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v6.from_string.overload1 more...]]``
 
   static address_v6 ``[link boost_asio.reference.ip__address_v6.from_string.overload2 from_string]``(
       const char * str,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v6.from_string.overload2 more...]]``
 
   static address_v6 ``[link boost_asio.reference.ip__address_v6.from_string.overload3 from_string]``(
       const std::string & str);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v6.from_string.overload3 more...]]``
 
   static address_v6 ``[link boost_asio.reference.ip__address_v6.from_string.overload4 from_string]``(
       const std::string & str,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v6.from_string.overload4 more...]]``
 
 
 [section:overload1 ip::address_v6::from_string (1 of 4 overloads)]
@@ -35145,6 +36978,12 @@
       const address_v6 & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v6.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -35159,6 +36998,12 @@
       const address_v6 & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v6.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -35209,6 +37054,12 @@
       const address_v6 & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v6.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -35236,6 +37087,12 @@
       const address_v6 & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v6.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -35250,6 +37107,12 @@
       const address_v6 & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v6.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -35264,6 +37127,12 @@
       const address_v6 & a2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/address_v6.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -35273,9 +37142,11 @@
 [indexterm2 scope_id..ip::address_v6] The scope ID of the address.
 
   unsigned long ``[link boost_asio.reference.ip__address_v6.scope_id.overload1 scope_id]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v6.scope_id.overload1 more...]]``
 
   void ``[link boost_asio.reference.ip__address_v6.scope_id.overload2 scope_id]``(
       unsigned long id);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v6.scope_id.overload2 more...]]``
 
 
 [section:overload1 ip::address_v6::scope_id (1 of 2 overloads)]
@@ -35325,9 +37196,11 @@
 [indexterm2 to_string..ip::address_v6] Get the address as a string.
 
   std::string ``[link boost_asio.reference.ip__address_v6.to_string.overload1 to_string]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v6.to_string.overload1 more...]]``
 
   std::string ``[link boost_asio.reference.ip__address_v6.to_string.overload2 to_string]``(
       boost::system::error_code & ec) const;
+ `` [''''&raquo;''' [link boost_asio.reference.ip__address_v6.to_string.overload2 more...]]``
 
 
 [section:overload1 ip::address_v6::to_string (1 of 2 overloads)]
@@ -35530,16 +37403,24 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:address ip::basic_endpoint::address]
 
 [indexterm2 address..ip::basic_endpoint] Get the IP address associated with the endpoint.
 
   boost::asio::ip::address ``[link boost_asio.reference.ip__basic_endpoint.address.overload1 address]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_endpoint.address.overload1 more...]]``
 
 Set the IP address associated with the endpoint.
 
   void ``[link boost_asio.reference.ip__basic_endpoint.address.overload2 address]``(
       const boost::asio::ip::address & addr);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_endpoint.address.overload2 more...]]``
 
 
 [section:overload1 ip::basic_endpoint::address (1 of 2 overloads)]
@@ -35573,23 +37454,27 @@
 [indexterm2 basic_endpoint..ip::basic_endpoint] Default constructor.
 
   ``[link boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload1 basic_endpoint]``();
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload1 more...]]``
 
 Construct an endpoint using a port number, specified in the host's byte order. The IP address will be the any address (i.e. INADDR_ANY or in6addr_any). This constructor would typically be used for accepting new connections.
 
   ``[link boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2 basic_endpoint]``(
       const InternetProtocol & protocol,
       unsigned short port_num);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2 more...]]``
 
 Construct an endpoint using a port number and an IP address. This constructor may be used for accepting connections on a specific interface or for making a connection to a remote endpoint.
 
   ``[link boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload3 basic_endpoint]``(
       const boost::asio::ip::address & addr,
       unsigned short port_num);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload3 more...]]``
 
 Copy constructor.
 
   ``[link boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload4 basic_endpoint]``(
       const basic_endpoint & other);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload4 more...]]``
 
 
 [section:overload1 ip::basic_endpoint::basic_endpoint (1 of 4 overloads)]
@@ -35680,8 +37565,10 @@
 [indexterm2 data..ip::basic_endpoint] Get the underlying endpoint in the native type.
 
   data_type * ``[link boost_asio.reference.ip__basic_endpoint.data.overload1 data]``();
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_endpoint.data.overload1 more...]]``
 
   const data_type * ``[link boost_asio.reference.ip__basic_endpoint.data.overload2 data]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_endpoint.data.overload2 more...]]``
 
 
 [section:overload1 ip::basic_endpoint::data (1 of 2 overloads)]
@@ -35718,6 +37605,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -35732,6 +37625,12 @@
       const basic_endpoint< InternetProtocol > & e2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -35746,6 +37645,12 @@
       const basic_endpoint< InternetProtocol > & e2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -35806,6 +37711,12 @@
       const basic_endpoint< InternetProtocol > & e2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -35815,11 +37726,13 @@
 [indexterm2 port..ip::basic_endpoint] Get the port associated with the endpoint. The port number is always in the host's byte order.
 
   unsigned short ``[link boost_asio.reference.ip__basic_endpoint.port.overload1 port]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_endpoint.port.overload1 more...]]``
 
 Set the port associated with the endpoint. The port number is always in the host's byte order.
 
   void ``[link boost_asio.reference.ip__basic_endpoint.port.overload2 port]``(
       unsigned short port_num);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_endpoint.port.overload2 more...]]``
 
 
 [section:overload1 ip::basic_endpoint::port (1 of 2 overloads)]
@@ -35869,6 +37782,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_endpoint.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -36026,6 +37945,12 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:async_resolve ip::basic_resolver::async_resolve]
 
 [indexterm2 async_resolve..ip::basic_resolver] Asynchronously perform forward resolution of a query to a list of entries.
@@ -36035,6 +37960,7 @@
   void ``[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...]]``
 
 Asynchronously perform reverse resolution of an endpoint to a list of entries.
 
@@ -36043,6 +37969,7 @@
   void ``[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...]]``
 
 
 [section:overload1 ip::basic_resolver::async_resolve (1 of 2 overloads)]
@@ -36185,6 +38112,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -36239,6 +38172,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -36275,6 +38214,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -36288,6 +38233,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -36301,6 +38252,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -36311,19 +38268,23 @@
 
   iterator ``[link boost_asio.reference.ip__basic_resolver.resolve.overload1 resolve]``(
       const query & q);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver.resolve.overload1 more...]]``
 
   iterator ``[link boost_asio.reference.ip__basic_resolver.resolve.overload2 resolve]``(
       const query & q,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver.resolve.overload2 more...]]``
 
 Perform reverse resolution of an endpoint to a list of entries.
 
   iterator ``[link boost_asio.reference.ip__basic_resolver.resolve.overload3 resolve]``(
       const endpoint_type & e);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver.resolve.overload3 more...]]``
 
   iterator ``[link boost_asio.reference.ip__basic_resolver.resolve.overload4 resolve]``(
       const endpoint_type & e,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver.resolve.overload4 more...]]``
 
 
 [section:overload1 ip::basic_resolver::resolve (1 of 4 overloads)]
@@ -36518,6 +38479,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -36598,11 +38565,18 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver_entry.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:basic_resolver_entry ip::basic_resolver_entry::basic_resolver_entry]
 
 [indexterm2 basic_resolver_entry..ip::basic_resolver_entry] Default constructor.
 
   ``[link boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload1 basic_resolver_entry]``();
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload1 more...]]``
 
 Construct with specified endpoint, host name and service name.
 
@@ -36610,6 +38584,7 @@
       const endpoint_type & endpoint,
       const std::string & host_name,
       const std::string & service_name);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload2 more...]]``
 
 
 [section:overload1 ip::basic_resolver_entry::basic_resolver_entry (1 of 2 overloads)]
@@ -36661,6 +38636,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver_entry.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -36698,6 +38679,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver_entry.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -36762,6 +38749,12 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver_iterator.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:basic_resolver_iterator ip::basic_resolver_iterator::basic_resolver_iterator]
 
@@ -36782,6 +38775,7 @@
       boost::asio::detail::addrinfo_type * address_info,
       const std::string & host_name,
       const std::string & service_name);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver_iterator.create.overload1 more...]]``
 
 Create an iterator from an endpoint, host name and service name.
 
@@ -36789,6 +38783,7 @@
       const typename InternetProtocol::endpoint & endpoint,
       const std::string & host_name,
       const std::string & service_name);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver_iterator.create.overload2 more...]]``
 
 
 [section:overload1 ip::basic_resolver_iterator::create (1 of 2 overloads)]
@@ -36932,6 +38927,12 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver_query.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:address_configured ip::basic_resolver_query::address_configured]
 
@@ -36969,6 +38970,7 @@
   ``[link boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1 basic_resolver_query]``(
       const std::string & service_name,
       int flags = passive|address_configured);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1 more...]]``
 
 Construct with specified service name for a given protocol.
 
@@ -36976,6 +38978,7 @@
       const protocol_type & protocol,
       const std::string & service_name,
       int flags = passive|address_configured);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2 more...]]``
 
 Construct with specified host name and service name for any protocol.
 
@@ -36983,6 +38986,7 @@
       const std::string & host_name,
       const std::string & service_name,
       int flags = address_configured);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3 more...]]``
 
 Construct with specified host name and service name for a given protocol.
 
@@ -36991,6 +38995,7 @@
       const std::string & host_name,
       const std::string & service_name,
       int flags = address_configured);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4 more...]]``
 
 
 [section:overload1 ip::basic_resolver_query::basic_resolver_query (1 of 4 overloads)]
@@ -37147,6 +39152,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/basic_resolver_query.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -37186,9 +39197,17 @@
 [indexterm1 ip::host_name] Get the current host name.
     
   std::string ``[link boost_asio.reference.ip__host_name.overload1 host_name]``();
+ `` [''''&raquo;''' [link boost_asio.reference.ip__host_name.overload1 more...]]``
 
   std::string ``[link boost_asio.reference.ip__host_name.overload2 host_name]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__host_name.overload2 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/host_name.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 ip::host_name (1 of 2 overloads)]
@@ -37323,6 +39342,12 @@
 [*Shared] [*objects:] Safe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/icmp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:endpoint ip::icmp::endpoint]
 
@@ -37456,6 +39481,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/icmp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -37482,6 +39513,12 @@
       const icmp & p2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/icmp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -37496,6 +39533,12 @@
       const icmp & p2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/icmp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -37635,6 +39678,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/icmp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -37684,6 +39733,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/icmp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -37794,6 +39849,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/icmp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -38171,6 +40232,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/icmp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -38250,6 +40317,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/multicast.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -38290,6 +40363,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/multicast.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -38321,6 +40400,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/multicast.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -38352,6 +40437,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/multicast.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -38383,6 +40474,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/multicast.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -38446,6 +40543,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/resolver_query_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:address_configured ip::resolver_query_base::address_configured]
 
@@ -38662,6 +40765,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/resolver_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:async_resolve ip::resolver_service::async_resolve]
 
 [indexterm2 async_resolve..ip::resolver_service] Asynchronously resolve a query to a list of entries.
@@ -38672,6 +40781,7 @@
       implementation_type & impl,
       const query_type & query,
       Handler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__resolver_service.async_resolve.overload1 more...]]``
 
 Asynchronously resolve an endpoint to a list of entries.
 
@@ -38681,6 +40791,7 @@
       implementation_type & impl,
       const endpoint_type & endpoint,
       ResolveHandler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__resolver_service.async_resolve.overload2 more...]]``
 
 
 [section:overload1 ip::resolver_service::async_resolve (1 of 2 overloads)]
@@ -38766,6 +40877,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/resolver_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -38806,6 +40923,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/resolver_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -38834,6 +40957,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/resolver_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -38847,6 +40976,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/resolver_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -38860,6 +40995,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/resolver_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -38872,6 +41013,7 @@
       implementation_type & impl,
       const query_type & query,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__resolver_service.resolve.overload1 more...]]``
 
 Resolve an endpoint to a list of entries.
 
@@ -38879,6 +41021,7 @@
       implementation_type & impl,
       const endpoint_type & endpoint,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ip__resolver_service.resolve.overload2 more...]]``
 
 
 [section:overload1 ip::resolver_service::resolve (1 of 2 overloads)]
@@ -39067,6 +41210,12 @@
 [*Shared] [*objects:] Safe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/tcp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:acceptor ip::tcp::acceptor]
 
@@ -39382,6 +41531,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/tcp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -39519,6 +41674,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/tcp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -39572,6 +41733,12 @@
 ]
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/tcp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -39612,6 +41779,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/tcp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -39626,6 +41799,12 @@
       const tcp & p2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/tcp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -39640,6 +41819,12 @@
       const tcp & p2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/tcp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -39779,6 +41964,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/tcp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -39828,6 +42019,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/tcp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -39938,6 +42135,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/tcp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -40317,6 +42520,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/tcp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -40466,6 +42675,12 @@
 [*Shared] [*objects:] Safe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/udp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:endpoint ip::udp::endpoint]
 
@@ -40599,6 +42814,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/udp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -40625,6 +42846,12 @@
       const udp & p2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/udp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -40639,6 +42866,12 @@
       const udp & p2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/udp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -40778,6 +43011,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/udp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -40827,6 +43066,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/udp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -40937,6 +43182,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/udp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -41314,6 +43565,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/udp.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -41393,6 +43650,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/unicast.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -41433,6 +43696,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ip/v6_only.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -41457,6 +43726,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/read_until.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:value is_match_condition::value]
 
@@ -41492,6 +43767,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/is_read_buffered.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:value is_read_buffered::value]
 
@@ -41527,6 +43808,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/is_write_buffered.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:value is_write_buffered::value]
 
@@ -41666,24 +43953,34 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:basic_endpoint local::basic_endpoint::basic_endpoint]
 
 [indexterm2 basic_endpoint..local::basic_endpoint] Default constructor.
 
   ``[link boost_asio.reference.local__basic_endpoint.basic_endpoint.overload1 basic_endpoint]``();
+ `` [''''&raquo;''' [link boost_asio.reference.local__basic_endpoint.basic_endpoint.overload1 more...]]``
 
 Construct an endpoint using the specified path name.
 
   ``[link boost_asio.reference.local__basic_endpoint.basic_endpoint.overload2 basic_endpoint]``(
       const char * path);
+ `` [''''&raquo;''' [link boost_asio.reference.local__basic_endpoint.basic_endpoint.overload2 more...]]``
 
   ``[link boost_asio.reference.local__basic_endpoint.basic_endpoint.overload3 basic_endpoint]``(
       const std::string & path);
+ `` [''''&raquo;''' [link boost_asio.reference.local__basic_endpoint.basic_endpoint.overload3 more...]]``
 
 Copy constructor.
 
   ``[link boost_asio.reference.local__basic_endpoint.basic_endpoint.overload4 basic_endpoint]``(
       const basic_endpoint & other);
+ `` [''''&raquo;''' [link boost_asio.reference.local__basic_endpoint.basic_endpoint.overload4 more...]]``
 
 
 [section:overload1 local::basic_endpoint::basic_endpoint (1 of 4 overloads)]
@@ -41755,8 +44052,10 @@
 [indexterm2 data..local::basic_endpoint] Get the underlying endpoint in the native type.
 
   data_type * ``[link boost_asio.reference.local__basic_endpoint.data.overload1 data]``();
+ `` [''''&raquo;''' [link boost_asio.reference.local__basic_endpoint.data.overload1 more...]]``
 
   const data_type * ``[link boost_asio.reference.local__basic_endpoint.data.overload2 data]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.local__basic_endpoint.data.overload2 more...]]``
 
 
 [section:overload1 local::basic_endpoint::data (1 of 2 overloads)]
@@ -41793,6 +44092,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -41807,6 +44112,12 @@
       const basic_endpoint< Protocol > & e2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -41821,6 +44132,12 @@
       const basic_endpoint< Protocol > & e2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -41881,6 +44198,12 @@
       const basic_endpoint< Protocol > & e2);
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -41890,14 +44213,17 @@
 [indexterm2 path..local::basic_endpoint] Get the path associated with the endpoint.
 
   std::string ``[link boost_asio.reference.local__basic_endpoint.path.overload1 path]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.local__basic_endpoint.path.overload1 more...]]``
 
 Set the path associated with the endpoint.
 
   void ``[link boost_asio.reference.local__basic_endpoint.path.overload2 path]``(
       const char * p);
+ `` [''''&raquo;''' [link boost_asio.reference.local__basic_endpoint.path.overload2 more...]]``
 
   void ``[link boost_asio.reference.local__basic_endpoint.path.overload3 path]``(
       const std::string & p);
+ `` [''''&raquo;''' [link boost_asio.reference.local__basic_endpoint.path.overload3 more...]]``
 
 
 [section:overload1 local::basic_endpoint::path (1 of 3 overloads)]
@@ -41960,6 +44286,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/basic_endpoint.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -42003,6 +44335,7 @@
   void ``[link boost_asio.reference.local__connect_pair.overload1 connect_pair]``(
       basic_socket< Protocol, SocketService1 > & socket1,
       basic_socket< Protocol, SocketService2 > & socket2);
+ `` [''''&raquo;''' [link boost_asio.reference.local__connect_pair.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.Protocol Protocol]``,
@@ -42012,6 +44345,13 @@
       basic_socket< Protocol, SocketService1 > & socket1,
       basic_socket< Protocol, SocketService2 > & socket2,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.local__connect_pair.overload2 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/connect_pair.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 local::connect_pair (1 of 2 overloads)]
@@ -42111,6 +44451,12 @@
 [*Shared] [*objects:] Safe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/datagram_protocol.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:endpoint local::datagram_protocol::endpoint]
 
@@ -42235,6 +44581,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/datagram_protocol.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -42636,6 +44988,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/datagram_protocol.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -42728,6 +45086,12 @@
 [*Shared] [*objects:] Safe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/stream_protocol.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:acceptor local::stream_protocol::acceptor]
 
@@ -43043,6 +45407,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/stream_protocol.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -43171,6 +45541,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/stream_protocol.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -43224,6 +45600,12 @@
 ]
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/stream_protocol.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -43615,6 +45997,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/local/stream_protocol.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -43677,6 +46065,12 @@
 
 The mutable_buffer class provides a safe representation of a buffer that can be modified. It does not own the underlying data, and so is cheap to copy or assign.
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:buffer_cast mutable_buffer::buffer_cast]
 
@@ -43710,12 +46104,14 @@
 [indexterm2 mutable_buffer..mutable_buffer] Construct an empty buffer.
 
   ``[link boost_asio.reference.mutable_buffer.mutable_buffer.overload1 mutable_buffer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.mutable_buffer.mutable_buffer.overload1 more...]]``
 
 Construct a buffer to represent a given memory range.
 
   ``[link boost_asio.reference.mutable_buffer.mutable_buffer.overload2 mutable_buffer]``(
       void * data,
       std::size_t size);
+ `` [''''&raquo;''' [link boost_asio.reference.mutable_buffer.mutable_buffer.overload2 more...]]``
 
 
 [section:overload1 mutable_buffer::mutable_buffer (1 of 2 overloads)]
@@ -43752,10 +46148,12 @@
   mutable_buffer ``[link boost_asio.reference.mutable_buffer.operator_plus_.overload1 operator+]``(
       const mutable_buffer & b,
       std::size_t start);
+ `` [''''&raquo;''' [link boost_asio.reference.mutable_buffer.operator_plus_.overload1 more...]]``
 
   mutable_buffer ``[link boost_asio.reference.mutable_buffer.operator_plus_.overload2 operator+]``(
       std::size_t start,
       const mutable_buffer & b);
+ `` [''''&raquo;''' [link boost_asio.reference.mutable_buffer.operator_plus_.overload2 more...]]``
 
 
 [section:overload1 mutable_buffer::operator+ (1 of 2 overloads)]
@@ -43862,6 +46260,12 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:begin mutable_buffers_1::begin]
 
@@ -43917,6 +46321,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -43940,11 +46350,13 @@
   ``[link boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload1 mutable_buffers_1]``(
       void * data,
       std::size_t size);
+ `` [''''&raquo;''' [link boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload1 more...]]``
 
 Construct to represent a single modifiable buffer.
 
   ``[link boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload2 mutable_buffers_1]``(
       const mutable_buffer & b);
+ `` [''''&raquo;''' [link boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload2 more...]]``
 
 
 [section:overload1 mutable_buffers_1::mutable_buffers_1 (1 of 2 overloads)]
@@ -43982,10 +46394,12 @@
   mutable_buffer ``[link boost_asio.reference.mutable_buffers_1.operator_plus_.overload1 operator+]``(
       const mutable_buffer & b,
       std::size_t start);
+ `` [''''&raquo;''' [link boost_asio.reference.mutable_buffers_1.operator_plus_.overload1 more...]]``
 
   mutable_buffer ``[link boost_asio.reference.mutable_buffers_1.operator_plus_.overload2 operator+]``(
       std::size_t start,
       const mutable_buffer & b);
+ `` [''''&raquo;''' [link boost_asio.reference.mutable_buffers_1.operator_plus_.overload2 more...]]``
 
 
 [section:overload1 mutable_buffers_1::operator+ (1 of 2 overloads)]
@@ -44068,6 +46482,12 @@
 The mutable_buffer class provides a safe representation of a buffer that can be modified. It does not own the underlying data, and so is cheap to copy or assign.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -44118,6 +46538,12 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:begin null_buffers::begin]
 
@@ -44139,6 +46565,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -44200,6 +46632,12 @@
 The mutable_buffer class provides a safe representation of a buffer that can be modified. It does not own the underlying data, and so is cheap to copy or assign.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/buffer.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -44215,6 +46653,12 @@
   unspecified bytes_transferred;
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/placeholders.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -44227,6 +46671,12 @@
   unspecified error;
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/placeholders.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -44239,6 +46689,12 @@
   unspecified iterator;
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/placeholders.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -44399,16 +46855,24 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:assign posix::basic_descriptor::assign]
 
 [indexterm2 assign..posix::basic_descriptor] Assign an existing native descriptor to the descriptor.
 
   void ``[link boost_asio.reference.posix__basic_descriptor.assign.overload1 assign]``(
       const native_type & native_descriptor);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_descriptor.assign.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.posix__basic_descriptor.assign.overload2 assign]``(
       const native_type & native_descriptor,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_descriptor.assign.overload2 more...]]``
 
 
 [section:overload1 posix::basic_descriptor::assign (1 of 2 overloads)]
@@ -44445,12 +46909,14 @@
 
   ``[link boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1 basic_descriptor]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1 more...]]``
 
 Construct a basic_descriptor on an existing native descriptor.
 
   ``[link boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2 basic_descriptor]``(
       boost::asio::io_service & io_service,
       const native_type & native_descriptor);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2 more...]]``
 
 
 [section:overload1 posix::basic_descriptor::basic_descriptor (1 of 2 overloads)]
@@ -44547,6 +47013,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -44556,9 +47028,11 @@
 [indexterm2 cancel..posix::basic_descriptor] Cancel all asynchronous operations associated with the descriptor.
 
   void ``[link boost_asio.reference.posix__basic_descriptor.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_descriptor.cancel.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.posix__basic_descriptor.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_descriptor.cancel.overload2 more...]]``
 
 
 [section:overload1 posix::basic_descriptor::cancel (1 of 2 overloads)]
@@ -44618,9 +47092,11 @@
 [indexterm2 close..posix::basic_descriptor] Close the descriptor.
 
   void ``[link boost_asio.reference.posix__basic_descriptor.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_descriptor.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.posix__basic_descriptor.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_descriptor.close.overload2 more...]]``
 
 
 [section:overload1 posix::basic_descriptor::close (1 of 2 overloads)]
@@ -44725,6 +47201,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -44737,12 +47219,14 @@
       typename ``[link boost_asio.reference.IoControlCommand IoControlCommand]``>
   void ``[link boost_asio.reference.posix__basic_descriptor.io_control.overload1 io_control]``(
       IoControlCommand & command);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_descriptor.io_control.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.IoControlCommand IoControlCommand]``>
   boost::system::error_code ``[link boost_asio.reference.posix__basic_descriptor.io_control.overload2 io_control]``(
       IoControlCommand & command,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_descriptor.io_control.overload2 more...]]``
 
 
 [section:overload1 posix::basic_descriptor::io_control (1 of 2 overloads)]
@@ -44885,10 +47369,12 @@
 [indexterm2 lowest_layer..posix::basic_descriptor] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 posix::basic_descriptor::lowest_layer (1 of 2 overloads)]
@@ -45086,6 +47572,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -45113,6 +47605,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -45145,6 +47643,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -45176,6 +47680,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -45359,16 +47869,24 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:assign posix::basic_stream_descriptor::assign]
 
 [indexterm2 assign..posix::basic_stream_descriptor] Assign an existing native descriptor to the descriptor.
 
   void ``[link boost_asio.reference.posix__basic_stream_descriptor.assign.overload1 assign]``(
       const native_type & native_descriptor);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.assign.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.posix__basic_stream_descriptor.assign.overload2 assign]``(
       const native_type & native_descriptor,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.assign.overload2 more...]]``
 
 
 [section:overload1 posix::basic_stream_descriptor::assign (1 of 2 overloads)]
@@ -45521,12 +48039,14 @@
 
   ``[link boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1 basic_stream_descriptor]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1 more...]]``
 
 Construct a basic_stream_descriptor on an existing native descriptor.
 
   ``[link boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2 basic_stream_descriptor]``(
       boost::asio::io_service & io_service,
       const native_type & native_descriptor);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2 more...]]``
 
 
 [section:overload1 posix::basic_stream_descriptor::basic_stream_descriptor (1 of 2 overloads)]
@@ -45623,6 +48143,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -45632,9 +48158,11 @@
 [indexterm2 cancel..posix::basic_stream_descriptor] Cancel all asynchronous operations associated with the descriptor.
 
   void ``[link boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2 more...]]``
 
 
 [section:overload1 posix::basic_stream_descriptor::cancel (1 of 2 overloads)]
@@ -45700,9 +48228,11 @@
 [indexterm2 close..posix::basic_stream_descriptor] Close the descriptor.
 
   void ``[link boost_asio.reference.posix__basic_stream_descriptor.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.posix__basic_stream_descriptor.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.close.overload2 more...]]``
 
 
 [section:overload1 posix::basic_stream_descriptor::close (1 of 2 overloads)]
@@ -45813,6 +48343,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -45823,10 +48359,12 @@
 
   void ``[link boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1 io_control]``(
       IoControlCommand & command);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2 io_control]``(
       IoControlCommand & command,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2 more...]]``
 
 
 [section:overload1 posix::basic_stream_descriptor::io_control (1 of 2 overloads)]
@@ -45974,10 +48512,12 @@
 [indexterm2 lowest_layer..posix::basic_stream_descriptor] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 posix::basic_stream_descriptor::lowest_layer (1 of 2 overloads)]
@@ -46184,6 +48724,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -46214,6 +48760,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -46246,6 +48798,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -46258,12 +48816,14 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1 read_some]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2 read_some]``(
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2 more...]]``
 
 
 [section:overload1 posix::basic_stream_descriptor::read_some (1 of 2 overloads)]
@@ -46391,6 +48951,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/basic_stream_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -46403,12 +48969,14 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1 write_some]``(
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2 write_some]``(
       const ConstBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2 more...]]``
 
 
 [section:overload1 posix::basic_stream_descriptor::write_some (1 of 2 overloads)]
@@ -46550,6 +49118,12 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/descriptor_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:bytes_readable posix::descriptor_base::bytes_readable]
 
@@ -46576,6 +49150,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/descriptor_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -46605,6 +49185,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/descriptor_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -46787,6 +49373,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/stream_descriptor.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -46916,6 +49508,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/stream_descriptor_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:assign posix::stream_descriptor_service::assign]
 
@@ -47057,6 +49655,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/stream_descriptor_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -47128,6 +49732,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/posix/stream_descriptor_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -47410,6 +50020,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/raw_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:assign raw_socket_service::assign]
 
@@ -47642,6 +50258,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/raw_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -47699,6 +50321,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/raw_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -47784,6 +50412,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/raw_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -47812,6 +50446,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/raw_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -47974,6 +50614,7 @@
   std::size_t ``[link boost_asio.reference.read.overload1 read]``(
       SyncReadStream & s,
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.read.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncReadStream SyncReadStream]``,
@@ -47983,6 +50624,7 @@
       SyncReadStream & s,
       const MutableBufferSequence & buffers,
       CompletionCondition completion_condition);
+ `` [''''&raquo;''' [link boost_asio.reference.read.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncReadStream SyncReadStream]``,
@@ -47993,6 +50635,7 @@
       const MutableBufferSequence & buffers,
       CompletionCondition completion_condition,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.read.overload3 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncReadStream SyncReadStream]``,
@@ -48000,6 +50643,7 @@
   std::size_t ``[link boost_asio.reference.read.overload4 read]``(
       SyncReadStream & s,
       basic_streambuf< Allocator > & b);
+ `` [''''&raquo;''' [link boost_asio.reference.read.overload4 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncReadStream SyncReadStream]``,
@@ -48009,6 +50653,7 @@
       SyncReadStream & s,
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition);
+ `` [''''&raquo;''' [link boost_asio.reference.read.overload5 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncReadStream SyncReadStream]``,
@@ -48019,6 +50664,13 @@
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.read.overload6 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/read.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 read (1 of 6 overloads)]
@@ -48428,6 +51080,7 @@
       SyncRandomAccessReadDevice & d,
       boost::uint64_t offset,
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.read_at.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncRandomAccessReadDevice SyncRandomAccessReadDevice]``,
@@ -48438,6 +51091,7 @@
       boost::uint64_t offset,
       const MutableBufferSequence & buffers,
       CompletionCondition completion_condition);
+ `` [''''&raquo;''' [link boost_asio.reference.read_at.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncRandomAccessReadDevice SyncRandomAccessReadDevice]``,
@@ -48449,6 +51103,7 @@
       const MutableBufferSequence & buffers,
       CompletionCondition completion_condition,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.read_at.overload3 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncRandomAccessReadDevice SyncRandomAccessReadDevice]``,
@@ -48457,6 +51112,7 @@
       SyncRandomAccessReadDevice & d,
       boost::uint64_t offset,
       basic_streambuf< Allocator > & b);
+ `` [''''&raquo;''' [link boost_asio.reference.read_at.overload4 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncRandomAccessReadDevice SyncRandomAccessReadDevice]``,
@@ -48467,6 +51123,7 @@
       boost::uint64_t offset,
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition);
+ `` [''''&raquo;''' [link boost_asio.reference.read_at.overload5 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncRandomAccessReadDevice SyncRandomAccessReadDevice]``,
@@ -48478,6 +51135,13 @@
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.read_at.overload6 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/read_at.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 read_at (1 of 6 overloads)]
@@ -48905,6 +51569,7 @@
       SyncReadStream & s,
       boost::asio::basic_streambuf< Allocator > & b,
       char delim);
+ `` [''''&raquo;''' [link boost_asio.reference.read_until.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncReadStream SyncReadStream]``,
@@ -48914,6 +51579,7 @@
       boost::asio::basic_streambuf< Allocator > & b,
       char delim,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.read_until.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncReadStream SyncReadStream]``,
@@ -48922,6 +51588,7 @@
       SyncReadStream & s,
       boost::asio::basic_streambuf< Allocator > & b,
       const std::string & delim);
+ `` [''''&raquo;''' [link boost_asio.reference.read_until.overload3 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncReadStream SyncReadStream]``,
@@ -48931,6 +51598,7 @@
       boost::asio::basic_streambuf< Allocator > & b,
       const std::string & delim,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.read_until.overload4 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncReadStream SyncReadStream]``,
@@ -48939,6 +51607,7 @@
       SyncReadStream & s,
       boost::asio::basic_streambuf< Allocator > & b,
       const boost::regex & expr);
+ `` [''''&raquo;''' [link boost_asio.reference.read_until.overload5 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncReadStream SyncReadStream]``,
@@ -48948,6 +51617,7 @@
       boost::asio::basic_streambuf< Allocator > & b,
       const boost::regex & expr,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.read_until.overload6 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncReadStream SyncReadStream]``,
@@ -48958,6 +51628,7 @@
       boost::asio::basic_streambuf< Allocator > & b,
       MatchCondition match_condition,
       typename boost::enable_if< is_match_condition< MatchCondition > >::type * = 0);
+ `` [''''&raquo;''' [link boost_asio.reference.read_until.overload7 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncReadStream SyncReadStream]``,
@@ -48969,6 +51640,13 @@
       MatchCondition match_condition,
       boost::system::error_code & ec,
       typename boost::enable_if< is_match_condition< MatchCondition > >::type * = 0);
+ `` [''''&raquo;''' [link boost_asio.reference.read_until.overload8 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/read_until.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 read_until (1 of 8 overloads)]
@@ -49704,6 +52382,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/serial_port.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -49767,6 +52451,12 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/serial_port_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:_serial_port_base serial_port_base::~serial_port_base]
 
@@ -49817,6 +52507,12 @@
 
 Implements changing the baud rate for a given serial port.
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/serial_port_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:baud_rate serial_port_base::baud_rate::baud_rate]
 
@@ -49908,6 +52604,12 @@
 
 Implements changing the character size for a given serial port.
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/serial_port_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:character_size serial_port_base::character_size::character_size]
 
@@ -50012,6 +52714,12 @@
 
 Implements changing the flow control for a given serial port.
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/serial_port_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:flow_control serial_port_base::flow_control::flow_control]
 
@@ -50060,6 +52768,10 @@
 
   enum type
 
+[indexterm2 none..serial_port_base::flow_control]
+[indexterm2 software..serial_port_base::flow_control]
+[indexterm2 hardware..serial_port_base::flow_control]
+
 [heading Values]
 [variablelist
 
@@ -50148,6 +52860,12 @@
 
 Implements changing the parity for a given serial port.
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/serial_port_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:load serial_port_base::parity::load]
 
@@ -50196,6 +52914,10 @@
 
   enum type
 
+[indexterm2 none..serial_port_base::parity]
+[indexterm2 odd..serial_port_base::parity]
+[indexterm2 even..serial_port_base::parity]
+
 [heading Values]
 [variablelist
 
@@ -50284,6 +53006,12 @@
 
 Implements changing the number of stop bits for a given serial port.
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/serial_port_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:load serial_port_base::stop_bits::load]
 
@@ -50332,6 +53060,10 @@
 
   enum type
 
+[indexterm2 one..serial_port_base::stop_bits]
+[indexterm2 onepointfive..serial_port_base::stop_bits]
+[indexterm2 two..serial_port_base::stop_bits]
+
 [heading Values]
 [variablelist
 
@@ -50512,6 +53244,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/serial_port_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:assign serial_port_service::assign]
 
@@ -50670,6 +53408,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/serial_port_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -50724,6 +53468,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/serial_port_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -50854,6 +53604,12 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/io_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:service_already_exists service_already_exists::service_already_exists]
 
@@ -51030,6 +53786,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_acceptor_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:accept socket_acceptor_service::accept]
 
@@ -51161,6 +53923,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_acceptor_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51218,6 +53986,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_acceptor_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51318,6 +54092,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_acceptor_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51346,6 +54126,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_acceptor_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51550,6 +54336,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:broadcast socket_base::broadcast]
 
@@ -51586,6 +54378,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51616,6 +54414,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51656,6 +54460,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51696,6 +54506,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51736,6 +54552,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51776,6 +54598,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51817,6 +54645,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51854,6 +54688,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51907,6 +54747,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51947,6 +54793,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -51987,6 +54839,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -52027,6 +54885,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -52067,6 +54931,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -52107,6 +54977,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/socket_base.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -52118,6 +54994,10 @@
 
   enum shutdown_type
 
+[indexterm2 shutdown_receive..socket_base]
+[indexterm2 shutdown_send..socket_base]
+[indexterm2 shutdown_both..socket_base]
+
 [heading Values]
 [variablelist
 
@@ -52345,16 +55225,24 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/basic_context.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 [section:add_verify_path ssl::basic_context::add_verify_path]
 
 [indexterm2 add_verify_path..ssl::basic_context] Add a directory containing certificate authority files to be used for performing verification.
 
   void ``[link boost_asio.reference.ssl__basic_context.add_verify_path.overload1 add_verify_path]``(
       const std::string & path);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.add_verify_path.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.ssl__basic_context.add_verify_path.overload2 add_verify_path]``(
       const std::string & path,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.add_verify_path.overload2 more...]]``
 
 
 [section:overload1 ssl::basic_context::add_verify_path (1 of 2 overloads)]
@@ -52461,6 +55349,9 @@
 
   enum file_format
 
+[indexterm2 asn1..ssl::basic_context]
+[indexterm2 pem..ssl::basic_context]
+
 [heading Values]
 [variablelist
 
@@ -52504,6 +55395,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/basic_context.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -52514,10 +55411,12 @@
 
   void ``[link boost_asio.reference.ssl__basic_context.load_verify_file.overload1 load_verify_file]``(
       const std::string & filename);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.load_verify_file.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.ssl__basic_context.load_verify_file.overload2 load_verify_file]``(
       const std::string & filename,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.load_verify_file.overload2 more...]]``
 
 
 [section:overload1 ssl::basic_context::load_verify_file (1 of 2 overloads)]
@@ -52595,6 +55494,19 @@
 
   enum method
 
+[indexterm2 sslv2..ssl::basic_context]
+[indexterm2 sslv2_client..ssl::basic_context]
+[indexterm2 sslv2_server..ssl::basic_context]
+[indexterm2 sslv3..ssl::basic_context]
+[indexterm2 sslv3_client..ssl::basic_context]
+[indexterm2 sslv3_server..ssl::basic_context]
+[indexterm2 tlsv1..ssl::basic_context]
+[indexterm2 tlsv1_client..ssl::basic_context]
+[indexterm2 tlsv1_server..ssl::basic_context]
+[indexterm2 sslv23..ssl::basic_context]
+[indexterm2 sslv23_client..ssl::basic_context]
+[indexterm2 sslv23_server..ssl::basic_context]
+
 [heading Values]
 [variablelist
 
@@ -52722,6 +55634,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/basic_context.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -52736,6 +55654,9 @@
 
   enum password_purpose
 
+[indexterm2 for_reading..ssl::basic_context]
+[indexterm2 for_writing..ssl::basic_context]
+
 [heading Values]
 [variablelist
 
@@ -52765,6 +55686,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/basic_context.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -52775,10 +55702,12 @@
 
   void ``[link boost_asio.reference.ssl__basic_context.set_options.overload1 set_options]``(
       options o);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.set_options.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.ssl__basic_context.set_options.overload2 set_options]``(
       options o,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.set_options.overload2 more...]]``
 
 
 [section:overload1 ssl::basic_context::set_options (1 of 2 overloads)]
@@ -52854,12 +55783,14 @@
       typename PasswordCallback>
   void ``[link boost_asio.reference.ssl__basic_context.set_password_callback.overload1 set_password_callback]``(
       PasswordCallback callback);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.set_password_callback.overload1 more...]]``
 
   template<
       typename PasswordCallback>
   boost::system::error_code ``[link boost_asio.reference.ssl__basic_context.set_password_callback.overload2 set_password_callback]``(
       PasswordCallback callback,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.set_password_callback.overload2 more...]]``
 
 
 [section:overload1 ssl::basic_context::set_password_callback (1 of 2 overloads)]
@@ -52951,10 +55882,12 @@
 
   void ``[link boost_asio.reference.ssl__basic_context.set_verify_mode.overload1 set_verify_mode]``(
       verify_mode v);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.set_verify_mode.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.ssl__basic_context.set_verify_mode.overload2 set_verify_mode]``(
       verify_mode v,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.set_verify_mode.overload2 more...]]``
 
 
 [section:overload1 ssl::basic_context::set_verify_mode (1 of 2 overloads)]
@@ -53043,10 +55976,12 @@
 
   void ``[link boost_asio.reference.ssl__basic_context.use_certificate_chain_file.overload1 use_certificate_chain_file]``(
       const std::string & filename);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.use_certificate_chain_file.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.ssl__basic_context.use_certificate_chain_file.overload2 use_certificate_chain_file]``(
       const std::string & filename,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.use_certificate_chain_file.overload2 more...]]``
 
 
 [section:overload1 ssl::basic_context::use_certificate_chain_file (1 of 2 overloads)]
@@ -53121,11 +56056,13 @@
   void ``[link boost_asio.reference.ssl__basic_context.use_certificate_file.overload1 use_certificate_file]``(
       const std::string & filename,
       file_format format);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.use_certificate_file.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.ssl__basic_context.use_certificate_file.overload2 use_certificate_file]``(
       const std::string & filename,
       file_format format,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.use_certificate_file.overload2 more...]]``
 
 
 [section:overload1 ssl::basic_context::use_certificate_file (1 of 2 overloads)]
@@ -53206,11 +56143,13 @@
   void ``[link boost_asio.reference.ssl__basic_context.use_private_key_file.overload1 use_private_key_file]``(
       const std::string & filename,
       file_format format);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.use_private_key_file.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.ssl__basic_context.use_private_key_file.overload2 use_private_key_file]``(
       const std::string & filename,
       file_format format,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.use_private_key_file.overload2 more...]]``
 
 
 [section:overload1 ssl::basic_context::use_private_key_file (1 of 2 overloads)]
@@ -53291,11 +56230,13 @@
   void ``[link boost_asio.reference.ssl__basic_context.use_rsa_private_key_file.overload1 use_rsa_private_key_file]``(
       const std::string & filename,
       file_format format);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.use_rsa_private_key_file.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.ssl__basic_context.use_rsa_private_key_file.overload2 use_rsa_private_key_file]``(
       const std::string & filename,
       file_format format,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.use_rsa_private_key_file.overload2 more...]]``
 
 
 [section:overload1 ssl::basic_context::use_rsa_private_key_file (1 of 2 overloads)]
@@ -53375,10 +56316,12 @@
 
   void ``[link boost_asio.reference.ssl__basic_context.use_tmp_dh_file.overload1 use_tmp_dh_file]``(
       const std::string & filename);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.use_tmp_dh_file.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.ssl__basic_context.use_tmp_dh_file.overload2 use_tmp_dh_file]``(
       const std::string & filename,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__basic_context.use_tmp_dh_file.overload2 more...]]``
 
 
 [section:overload1 ssl::basic_context::use_tmp_dh_file (1 of 2 overloads)]
@@ -53488,6 +56431,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/basic_context.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -53723,6 +56672,12 @@
 ]
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/context.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -53837,6 +56792,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/context_base.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [section:default_workarounds ssl::context_base::default_workarounds]
 
@@ -53856,6 +56817,9 @@
 
   enum file_format
 
+[indexterm2 asn1..ssl::context_base]
+[indexterm2 pem..ssl::context_base]
+
 [heading Values]
 [variablelist
 
@@ -53883,6 +56847,19 @@
 
   enum method
 
+[indexterm2 sslv2..ssl::context_base]
+[indexterm2 sslv2_client..ssl::context_base]
+[indexterm2 sslv2_server..ssl::context_base]
+[indexterm2 sslv3..ssl::context_base]
+[indexterm2 sslv3_client..ssl::context_base]
+[indexterm2 sslv3_server..ssl::context_base]
+[indexterm2 tlsv1..ssl::context_base]
+[indexterm2 tlsv1_client..ssl::context_base]
+[indexterm2 tlsv1_server..ssl::context_base]
+[indexterm2 sslv23..ssl::context_base]
+[indexterm2 sslv23_client..ssl::context_base]
+[indexterm2 sslv23_server..ssl::context_base]
+
 [heading Values]
 [variablelist
 
@@ -53998,6 +56975,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/context_base.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -54009,6 +56992,9 @@
 
   enum password_purpose
 
+[indexterm2 for_reading..ssl::context_base]
+[indexterm2 for_writing..ssl::context_base]
+
 [heading Values]
 [variablelist
 
@@ -54074,6 +57060,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/context_base.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -54240,6 +57232,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/context_service.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [section:add_verify_path ssl::context_service::add_verify_path]
 
@@ -54331,6 +57329,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/context_service.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -54683,6 +57687,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/stream.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [section:async_handshake ssl::stream::async_handshake]
 
@@ -54868,10 +57878,12 @@
 
   void ``[link boost_asio.reference.ssl__stream.handshake.overload1 handshake]``(
       handshake_type type);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.handshake.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.ssl__stream.handshake.overload2 handshake]``(
       handshake_type type,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.handshake.overload2 more...]]``
 
 
 [section:overload1 ssl::stream::handshake (1 of 2 overloads)]
@@ -54946,6 +57958,9 @@
 
   enum handshake_type
 
+[indexterm2 client..ssl::stream]
+[indexterm2 server..ssl::stream]
+
 [heading Values]
 [variablelist
 
@@ -54989,6 +58004,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/stream.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -54998,9 +58019,11 @@
 [indexterm2 in_avail..ssl::stream] Determine the amount of data that may be read without blocking.
 
   std::size_t ``[link boost_asio.reference.ssl__stream.in_avail.overload1 in_avail]``();
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.in_avail.overload1 more...]]``
 
   std::size_t ``[link boost_asio.reference.ssl__stream.in_avail.overload2 in_avail]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.in_avail.overload2 more...]]``
 
 
 [section:overload1 ssl::stream::in_avail (1 of 2 overloads)]
@@ -55088,10 +58111,12 @@
 [indexterm2 lowest_layer..ssl::stream] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.ssl__stream.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.ssl__stream.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 ssl::stream::lowest_layer (1 of 2 overloads)]
@@ -55144,6 +58169,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/stream.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -55177,6 +58208,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/stream.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -55189,12 +58226,14 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.ssl__stream.peek.overload1 peek]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.peek.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.ssl__stream.peek.overload2 peek]``(
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.peek.overload2 more...]]``
 
 
 [section:overload1 ssl::stream::peek (1 of 2 overloads)]
@@ -55282,12 +58321,14 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.ssl__stream.read_some.overload1 read_some]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.read_some.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.ssl__stream.read_some.overload2 read_some]``(
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.read_some.overload2 more...]]``
 
 
 [section:overload1 ssl::stream::read_some (1 of 2 overloads)]
@@ -55386,6 +58427,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/stream.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -55395,9 +58442,11 @@
 [indexterm2 shutdown..ssl::stream] Shut down SSL on the stream.
 
   void ``[link boost_asio.reference.ssl__stream.shutdown.overload1 shutdown]``();
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.shutdown.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.ssl__stream.shutdown.overload2 shutdown]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.shutdown.overload2 more...]]``
 
 
 [section:overload1 ssl::stream::shutdown (1 of 2 overloads)]
@@ -55492,12 +58541,14 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.ssl__stream.write_some.overload1 write_some]``(
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.write_some.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.ssl__stream.write_some.overload2 write_some]``(
       const ConstBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.ssl__stream.write_some.overload2 more...]]``
 
 
 [section:overload1 ssl::stream::write_some (1 of 2 overloads)]
@@ -55633,6 +58684,12 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/stream_base.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [section:handshake_type ssl::stream_base::handshake_type]
 
@@ -55640,6 +58697,9 @@
 
   enum handshake_type
 
+[indexterm2 client..ssl::stream_base]
+[indexterm2 server..ssl::stream_base]
+
 [heading Values]
 [variablelist
 
@@ -55798,6 +58858,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/stream_service.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [section:async_handshake ssl::stream_service::async_handshake]
 
@@ -55963,6 +59029,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/ssl/stream_service.hpp]
+
+[*Convenience header: ][^boost/asio/ssl.hpp]
+
 
 [endsect]
 
@@ -56173,6 +59245,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/strand.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -56373,6 +59451,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/stream_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:assign stream_socket_service::assign]
 
@@ -56565,6 +59649,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/stream_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -56622,6 +59712,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/stream_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -56707,6 +59803,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/stream_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -56735,6 +59837,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/stream_socket_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -56996,6 +60104,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/streambuf.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -57059,6 +60173,12 @@
   
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/time_traits.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:add time_traits< boost::posix_time::ptime >::add]
 
@@ -57082,6 +60202,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/time_traits.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -57135,6 +60261,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/time_traits.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -57188,6 +60320,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/completion_condition.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -57226,6 +60364,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/completion_condition.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -57258,6 +60402,12 @@
 The service interface implementing the specified service type. Ownership of the service interface is not transferred to the caller.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/io_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -57398,16 +60548,24 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:assign windows::basic_handle::assign]
 
 [indexterm2 assign..windows::basic_handle] Assign an existing native handle to the handle.
 
   void ``[link boost_asio.reference.windows__basic_handle.assign.overload1 assign]``(
       const native_type & native_handle);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_handle.assign.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.windows__basic_handle.assign.overload2 assign]``(
       const native_type & native_handle,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_handle.assign.overload2 more...]]``
 
 
 [section:overload1 windows::basic_handle::assign (1 of 2 overloads)]
@@ -57444,12 +60602,14 @@
 
   ``[link boost_asio.reference.windows__basic_handle.basic_handle.overload1 basic_handle]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_handle.basic_handle.overload1 more...]]``
 
 Construct a basic_handle on an existing native handle.
 
   ``[link boost_asio.reference.windows__basic_handle.basic_handle.overload2 basic_handle]``(
       boost::asio::io_service & io_service,
       const native_type & native_handle);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_handle.basic_handle.overload2 more...]]``
 
 
 [section:overload1 windows::basic_handle::basic_handle (1 of 2 overloads)]
@@ -57522,9 +60682,11 @@
 [indexterm2 cancel..windows::basic_handle] Cancel all asynchronous operations associated with the handle.
 
   void ``[link boost_asio.reference.windows__basic_handle.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_handle.cancel.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.windows__basic_handle.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_handle.cancel.overload2 more...]]``
 
 
 [section:overload1 windows::basic_handle::cancel (1 of 2 overloads)]
@@ -57584,9 +60746,11 @@
 [indexterm2 close..windows::basic_handle] Close the handle.
 
   void ``[link boost_asio.reference.windows__basic_handle.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_handle.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.windows__basic_handle.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_handle.close.overload2 more...]]``
 
 
 [section:overload1 windows::basic_handle::close (1 of 2 overloads)]
@@ -57691,6 +60855,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -57735,10 +60905,12 @@
 [indexterm2 lowest_layer..windows::basic_handle] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.windows__basic_handle.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_handle.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.windows__basic_handle.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_handle.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 windows::basic_handle::lowest_layer (1 of 2 overloads)]
@@ -57917,6 +61089,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -57944,6 +61122,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -57975,6 +61159,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -58139,16 +61329,24 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:assign windows::basic_random_access_handle::assign]
 
 [indexterm2 assign..windows::basic_random_access_handle] Assign an existing native handle to the handle.
 
   void ``[link boost_asio.reference.windows__basic_random_access_handle.assign.overload1 assign]``(
       const native_type & native_handle);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.assign.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.windows__basic_random_access_handle.assign.overload2 assign]``(
       const native_type & native_handle,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.assign.overload2 more...]]``
 
 
 [section:overload1 windows::basic_random_access_handle::assign (1 of 2 overloads)]
@@ -58307,12 +61505,14 @@
 
   ``[link boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1 basic_random_access_handle]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1 more...]]``
 
 Construct a basic_random_access_handle on an existing native handle.
 
   ``[link boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2 basic_random_access_handle]``(
       boost::asio::io_service & io_service,
       const native_type & native_handle);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2 more...]]``
 
 
 [section:overload1 windows::basic_random_access_handle::basic_random_access_handle (1 of 2 overloads)]
@@ -58385,9 +61585,11 @@
 [indexterm2 cancel..windows::basic_random_access_handle] Cancel all asynchronous operations associated with the handle.
 
   void ``[link boost_asio.reference.windows__basic_random_access_handle.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.cancel.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.windows__basic_random_access_handle.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.cancel.overload2 more...]]``
 
 
 [section:overload1 windows::basic_random_access_handle::cancel (1 of 2 overloads)]
@@ -58453,9 +61655,11 @@
 [indexterm2 close..windows::basic_random_access_handle] Close the handle.
 
   void ``[link boost_asio.reference.windows__basic_random_access_handle.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.windows__basic_random_access_handle.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.close.overload2 more...]]``
 
 
 [section:overload1 windows::basic_random_access_handle::close (1 of 2 overloads)]
@@ -58566,6 +61770,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -58613,10 +61823,12 @@
 [indexterm2 lowest_layer..windows::basic_random_access_handle] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 windows::basic_random_access_handle::lowest_layer (1 of 2 overloads)]
@@ -58804,6 +62016,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -58834,6 +62052,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -58847,6 +62071,7 @@
   std::size_t ``[link boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1 read_some_at]``(
       boost::uint64_t offset,
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
@@ -58854,6 +62079,7 @@
       boost::uint64_t offset,
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2 more...]]``
 
 
 [section:overload1 windows::basic_random_access_handle::read_some_at (1 of 2 overloads)]
@@ -58987,6 +62213,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_random_access_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -59000,6 +62232,7 @@
   std::size_t ``[link boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1 write_some_at]``(
       boost::uint64_t offset,
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
@@ -59007,6 +62240,7 @@
       boost::uint64_t offset,
       const ConstBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2 more...]]``
 
 
 [section:overload1 windows::basic_random_access_handle::write_some_at (1 of 2 overloads)]
@@ -59261,16 +62495,24 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_stream_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 [section:assign windows::basic_stream_handle::assign]
 
 [indexterm2 assign..windows::basic_stream_handle] Assign an existing native handle to the handle.
 
   void ``[link boost_asio.reference.windows__basic_stream_handle.assign.overload1 assign]``(
       const native_type & native_handle);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.assign.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.windows__basic_stream_handle.assign.overload2 assign]``(
       const native_type & native_handle,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.assign.overload2 more...]]``
 
 
 [section:overload1 windows::basic_stream_handle::assign (1 of 2 overloads)]
@@ -59423,12 +62665,14 @@
 
   ``[link boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1 basic_stream_handle]``(
       boost::asio::io_service & io_service);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1 more...]]``
 
 Construct a basic_stream_handle on an existing native handle.
 
   ``[link boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2 basic_stream_handle]``(
       boost::asio::io_service & io_service,
       const native_type & native_handle);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2 more...]]``
 
 
 [section:overload1 windows::basic_stream_handle::basic_stream_handle (1 of 2 overloads)]
@@ -59501,9 +62745,11 @@
 [indexterm2 cancel..windows::basic_stream_handle] Cancel all asynchronous operations associated with the handle.
 
   void ``[link boost_asio.reference.windows__basic_stream_handle.cancel.overload1 cancel]``();
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.cancel.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.windows__basic_stream_handle.cancel.overload2 cancel]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.cancel.overload2 more...]]``
 
 
 [section:overload1 windows::basic_stream_handle::cancel (1 of 2 overloads)]
@@ -59569,9 +62815,11 @@
 [indexterm2 close..windows::basic_stream_handle] Close the handle.
 
   void ``[link boost_asio.reference.windows__basic_stream_handle.close.overload1 close]``();
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.close.overload1 more...]]``
 
   boost::system::error_code ``[link boost_asio.reference.windows__basic_stream_handle.close.overload2 close]``(
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.close.overload2 more...]]``
 
 
 [section:overload1 windows::basic_stream_handle::close (1 of 2 overloads)]
@@ -59682,6 +62930,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_stream_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -59729,10 +62983,12 @@
 [indexterm2 lowest_layer..windows::basic_stream_handle] Get a reference to the lowest layer.
 
   lowest_layer_type & ``[link boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1 lowest_layer]``();
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1 more...]]``
 
 Get a const reference to the lowest layer.
 
   const lowest_layer_type & ``[link boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2 lowest_layer]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2 more...]]``
 
 
 [section:overload1 windows::basic_stream_handle::lowest_layer (1 of 2 overloads)]
@@ -59920,6 +63176,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_stream_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -59950,6 +63212,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_stream_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -59962,12 +63230,14 @@
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.windows__basic_stream_handle.read_some.overload1 read_some]``(
       const MutableBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.read_some.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.windows__basic_stream_handle.read_some.overload2 read_some]``(
       const MutableBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.read_some.overload2 more...]]``
 
 
 [section:overload1 windows::basic_stream_handle::read_some (1 of 2 overloads)]
@@ -60095,6 +63365,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/basic_stream_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -60107,12 +63383,14 @@
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.windows__basic_stream_handle.write_some.overload1 write_some]``(
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.write_some.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.windows__basic_stream_handle.write_some.overload2 write_some]``(
       const ConstBufferSequence & buffers,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__basic_stream_handle.write_some.overload2 more...]]``
 
 
 [section:overload1 windows::basic_stream_handle::write_some (1 of 2 overloads)]
@@ -60274,6 +63552,12 @@
 [*Shared] [*objects:] Unsafe.
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/overlapped_ptr.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:complete windows::overlapped_ptr::complete]
 
@@ -60293,8 +63577,10 @@
 [indexterm2 get..windows::overlapped_ptr] Get the contained OVERLAPPED object.
 
   OVERLAPPED * ``[link boost_asio.reference.windows__overlapped_ptr.get.overload1 get]``();
+ `` [''''&raquo;''' [link boost_asio.reference.windows__overlapped_ptr.get.overload1 more...]]``
 
   const OVERLAPPED * ``[link boost_asio.reference.windows__overlapped_ptr.get.overload2 get]``() const;
+ `` [''''&raquo;''' [link boost_asio.reference.windows__overlapped_ptr.get.overload2 more...]]``
 
 
 [section:overload1 windows::overlapped_ptr::get (1 of 2 overloads)]
@@ -60327,6 +63613,7 @@
 [indexterm2 overlapped_ptr..windows::overlapped_ptr] Construct an empty overlapped_ptr.
 
   ``[link boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload1 overlapped_ptr]``();
+ `` [''''&raquo;''' [link boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload1 more...]]``
 
 Construct an overlapped_ptr to contain the specified handler.
 
@@ -60335,6 +63622,7 @@
   ``[link boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload2 overlapped_ptr]``(
       boost::asio::io_service & io_service,
       Handler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload2 more...]]``
 
 
 [section:overload1 windows::overlapped_ptr::overlapped_ptr (1 of 2 overloads)]
@@ -60383,6 +63671,7 @@
 [indexterm2 reset..windows::overlapped_ptr] Reset to empty.
 
   void ``[link boost_asio.reference.windows__overlapped_ptr.reset.overload1 reset]``();
+ `` [''''&raquo;''' [link boost_asio.reference.windows__overlapped_ptr.reset.overload1 more...]]``
 
 Reset to contain the specified handler, freeing any current OVERLAPPED object.
 
@@ -60391,6 +63680,7 @@
   void ``[link boost_asio.reference.windows__overlapped_ptr.reset.overload2 reset]``(
       boost::asio::io_service & io_service,
       Handler handler);
+ `` [''''&raquo;''' [link boost_asio.reference.windows__overlapped_ptr.reset.overload2 more...]]``
 
 
 [section:overload1 windows::overlapped_ptr::reset (1 of 2 overloads)]
@@ -60581,6 +63871,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/random_access_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -60705,6 +64001,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/random_access_handle_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:assign windows::random_access_handle_service::assign]
 
@@ -60848,6 +64150,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/random_access_handle_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -60902,6 +64210,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/random_access_handle_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -61114,6 +64428,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/stream_handle.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -61238,6 +64558,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/stream_handle_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:assign windows::stream_handle_service::assign]
 
@@ -61379,6 +64705,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/stream_handle_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -61433,6 +64765,12 @@
 
 
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/windows/stream_handle_service.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [endsect]
 
@@ -61509,6 +64847,7 @@
   std::size_t ``[link boost_asio.reference.write.overload1 write]``(
       SyncWriteStream & s,
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.write.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncWriteStream SyncWriteStream]``,
@@ -61518,6 +64857,7 @@
       SyncWriteStream & s,
       const ConstBufferSequence & buffers,
       CompletionCondition completion_condition);
+ `` [''''&raquo;''' [link boost_asio.reference.write.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncWriteStream SyncWriteStream]``,
@@ -61528,6 +64868,7 @@
       const ConstBufferSequence & buffers,
       CompletionCondition completion_condition,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.write.overload3 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncWriteStream SyncWriteStream]``,
@@ -61535,6 +64876,7 @@
   std::size_t ``[link boost_asio.reference.write.overload4 write]``(
       SyncWriteStream & s,
       basic_streambuf< Allocator > & b);
+ `` [''''&raquo;''' [link boost_asio.reference.write.overload4 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncWriteStream SyncWriteStream]``,
@@ -61544,6 +64886,7 @@
       SyncWriteStream & s,
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition);
+ `` [''''&raquo;''' [link boost_asio.reference.write.overload5 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncWriteStream SyncWriteStream]``,
@@ -61554,6 +64897,13 @@
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.write.overload6 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/write.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 write (1 of 6 overloads)]
@@ -61969,6 +65319,7 @@
       SyncRandomAccessWriteDevice & d,
       boost::uint64_t offset,
       const ConstBufferSequence & buffers);
+ `` [''''&raquo;''' [link boost_asio.reference.write_at.overload1 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncRandomAccessWriteDevice SyncRandomAccessWriteDevice]``,
@@ -61979,6 +65330,7 @@
       boost::uint64_t offset,
       const ConstBufferSequence & buffers,
       CompletionCondition completion_condition);
+ `` [''''&raquo;''' [link boost_asio.reference.write_at.overload2 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncRandomAccessWriteDevice SyncRandomAccessWriteDevice]``,
@@ -61990,6 +65342,7 @@
       const ConstBufferSequence & buffers,
       CompletionCondition completion_condition,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.write_at.overload3 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncRandomAccessWriteDevice SyncRandomAccessWriteDevice]``,
@@ -61998,6 +65351,7 @@
       SyncRandomAccessWriteDevice & d,
       boost::uint64_t offset,
       basic_streambuf< Allocator > & b);
+ `` [''''&raquo;''' [link boost_asio.reference.write_at.overload4 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncRandomAccessWriteDevice SyncRandomAccessWriteDevice]``,
@@ -62008,6 +65362,7 @@
       boost::uint64_t offset,
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition);
+ `` [''''&raquo;''' [link boost_asio.reference.write_at.overload5 more...]]``
 
   template<
       typename ``[link boost_asio.reference.SyncRandomAccessWriteDevice SyncRandomAccessWriteDevice]``,
@@ -62019,6 +65374,13 @@
       basic_streambuf< Allocator > & b,
       CompletionCondition completion_condition,
       boost::system::error_code & ec);
+ `` [''''&raquo;''' [link boost_asio.reference.write_at.overload6 more...]]``
+
+[heading Requirements]
+
+[*Header: ][^boost/asio/write_at.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
 
 
 [section:overload1 write_at (1 of 6 overloads)]
@@ -62460,6 +65822,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:value boost::system::is_error_code_enum< boost::asio::error::addrinfo_errors >::value]
 
@@ -62494,6 +65862,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:value boost::system::is_error_code_enum< boost::asio::error::basic_errors >::value]
 
@@ -62528,6 +65902,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:value boost::system::is_error_code_enum< boost::asio::error::misc_errors >::value]
 
@@ -62562,6 +65942,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:value boost::system::is_error_code_enum< boost::asio::error::netdb_errors >::value]
 
@@ -62596,6 +65982,12 @@
 
 ]
 
+[heading Requirements]
+
+[*Header: ][^boost/asio/error.hpp]
+
+[*Convenience header: ][^boost/asio.hpp]
+
 
 [section:value boost::system::is_error_code_enum< boost::asio::error::ssl_errors >::value]
 

Modified: branches/release/libs/asio/doc/reference.xsl
==============================================================================
--- branches/release/libs/asio/doc/reference.xsl (original)
+++ branches/release/libs/asio/doc/reference.xsl 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -516,6 +516,31 @@
 </xsl:template>
 
 
+<xsl:template name="header-requirements">
+ <xsl:param name="file"/>
+ <xsl:value-of select="$newline"/>
+ <xsl:text>[heading Requirements]</xsl:text>
+ <xsl:value-of select="$newline"/>
+ <xsl:value-of select="$newline"/>
+ <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:choose>
+ <xsl:when test="contains($file, 'boost/asio/ssl')">
+ <xsl:text>[^boost/asio/ssl.hpp]</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>[^boost/asio.hpp]</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:value-of select="$newline"/>
+</xsl:template>
+
+
 <!--========== Class ==========-->
 
 <xsl:template name="class">
@@ -534,6 +559,7 @@
       <xsl:with-param name="name" select="$class-name"/>
     </xsl:call-template>
   </xsl:variable>
+ <xsl:variable name="class-file" select="location/@file"/>
 [section:<xsl:value-of select="$class-id"/><xsl:text> </xsl:text><xsl:value-of select="$class-name"/>]
 
 <xsl:value-of select="briefdescription"/><xsl:text>
@@ -557,9 +583,14 @@
 
 <xsl:apply-templates select="detaileddescription" mode="markup"/>
 
+<xsl:call-template name="header-requirements">
+ <xsl:with-param name="file" select="$class-file"/>
+</xsl:call-template>
+
 <xsl:call-template name="class-members">
   <xsl:with-param name="class-name" select="$class-name"/>
   <xsl:with-param name="class-id" select="$class-id"/>
+ <xsl:with-param name="class-file" select="$class-file"/>
 </xsl:call-template>
 
 [endsect]
@@ -842,10 +873,12 @@
 <xsl:template name="class-members">
 <xsl:param name="class-name"/>
 <xsl:param name="class-id"/>
+<xsl:param name="class-file"/>
 <xsl:apply-templates select="sectiondef[@kind='public-type' or @kind='public-func' or @kind='public-static-func' or @kind='public-attrib' or @kind='public-static-attrib' or @kind='protected-func' or @kind='protected-static-func' or @kind='protected-attrib' or @kind='protected-static-attrib' or @kind='friend' or @kind='related']/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"/>
   <xsl:with-param name="class-id" select="$class-id"/>
+ <xsl:with-param name="class-file" select="$class-file"/>
 </xsl:apply-templates>
 </xsl:template>
 
@@ -855,6 +888,7 @@
 <xsl:template match="memberdef" mode="class-detail">
   <xsl:param name="class-name"/>
   <xsl:param name="class-id"/>
+ <xsl:param name="class-file"/>
   <xsl:variable name="name">
     <xsl:value-of select="name"/>
   </xsl:variable>
@@ -904,6 +938,12 @@
  select="$id"/>.overload<xsl:value-of select="position()"/><xsl:text> </xsl:text><xsl:value-of
  select="name"/>]``(<xsl:apply-templates select="param"
  mode="class-detail"/>)<xsl:if test="@const='yes'"> const</xsl:if>;
+<xsl:text> `` [''''&amp;raquo;'''</xsl:text>
+<xsl:text> [link boost_asio.reference.</xsl:text>
+<xsl:value-of select="$class-id"/>.<xsl:value-of
+ select="$id"/>.overload<xsl:value-of select="position()"/>
+<xsl:text> more...]]``
+</xsl:text>
 </xsl:for-each>
 </xsl:if>
 
@@ -943,7 +983,9 @@
       <xsl:call-template name="variable" mode="class-detail"/>
     </xsl:when>
     <xsl:when test="@kind='enum'">
- <xsl:call-template name="enum" mode="class-detail"/>
+ <xsl:call-template name="enum" mode="class-detail">
+ <xsl:with-param name="enum-name" select="$class-name"/>
+ </xsl:call-template>
     </xsl:when>
     <xsl:when test="@kind='function'">
       <xsl:call-template name="function" mode="class-detail"/>
@@ -956,6 +998,12 @@
 <xsl:text>
 </xsl:text><xsl:apply-templates select="detaileddescription" mode="markup"/>
 
+<xsl:if test="@kind='typedef' or @kind='friend'">
+ <xsl:call-template name="header-requirements">
+ <xsl:with-param name="file" select="$class-file"/>
+ </xsl:call-template>
+</xsl:if>
+
 [endsect]
 
 <xsl:if test="$overload-count &gt; 1 and $overload-position = $overload-count">
@@ -1008,8 +1056,18 @@
 
 
 <xsl:template name="enum">
+<xsl:param name="enum-name"/>
   enum <xsl:value-of select="name"/><xsl:text>
 </xsl:text><xsl:if test="count(enumvalue) &gt; 0">
+<xsl:value-of select="$newline"/>
+<xsl:for-each select="enumvalue">
+ <xsl:text>[indexterm2 </xsl:text>
+ <xsl:value-of select="name"/>
+ <xsl:text>..</xsl:text>
+ <xsl:value-of select="$enum-name"/>
+ <xsl:text>]</xsl:text>
+ <xsl:value-of select="$newline"/>
+</xsl:for-each>
 [heading Values]
 [variablelist
 <xsl:for-each select="enumvalue">
@@ -1127,9 +1185,23 @@
 
 <xsl:template match="param" mode="class-detail">
 <xsl:text>
- </xsl:text><xsl:value-of select="type"/><xsl:text> </xsl:text><xsl:value-of
- select="declname"/><xsl:if test="count(defval) > 0"> = <xsl:value-of
- select="defval"/></xsl:if><xsl:if test="not(position() = last())">,</xsl:if>
+ </xsl:text>
+ <xsl:choose>
+ <xsl:when test="string-length(array) &gt; 0">
+ <xsl:value-of select="substring-before(type, '&amp;')"/>
+ <xsl:text>(&amp;</xsl:text>
+ <xsl:value-of select="declname"/>
+ <xsl:text>)</xsl:text>
+ <xsl:value-of select="array"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="type"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="declname"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:if test="count(defval) > 0"> = <xsl:value-of select="defval"/></xsl:if>
+ <xsl:if test="not(position() = last())">,</xsl:if>
 </xsl:template>
 
 
@@ -1195,12 +1267,21 @@
  select="type"/><xsl:text> </xsl:text></xsl:if>``[link boost_asio.reference.<xsl:value-of
  select="$id"/>.overload<xsl:value-of select="position()"/><xsl:text> </xsl:text>
 <xsl:value-of select="name"/>]``(<xsl:apply-templates select="param" mode="class-detail"/>);
+<xsl:text> `` [''''&amp;raquo;'''</xsl:text>
+<xsl:text> [link boost_asio.reference.</xsl:text>
+<xsl:value-of select="$id"/>.overload<xsl:value-of select="position()"/>
+<xsl:text> more...]]``
+</xsl:text>
 </xsl:for-each>
 
 <xsl:for-each select="/doxygen/compounddef[@kind='group' and compoundname=$name]">
   <xsl:apply-templates select="detaileddescription" mode="markup"/>
 </xsl:for-each>
 
+<xsl:call-template name="header-requirements">
+ <xsl:with-param name="file" select="location/@file"/>
+</xsl:call-template>
+
 </xsl:if>
 
 [section:<xsl:if test="$overload-count = 1"><xsl:value-of select="$id"/></xsl:if>
@@ -1228,7 +1309,9 @@
       <xsl:call-template name="variable"/>
     </xsl:when>
     <xsl:when test="@kind='enum'">
- <xsl:call-template name="enum"/>
+ <xsl:call-template name="enum">
+ <xsl:with-param name="enum-name" select="$name"/>
+ </xsl:call-template>
     </xsl:when>
     <xsl:when test="@kind='function'">
       <xsl:call-template name="function"/>
@@ -1238,6 +1321,12 @@
 <xsl:text>
 </xsl:text><xsl:apply-templates select="detaileddescription" mode="markup"/>
 
+<xsl:if test="$overload-count = 1">
+ <xsl:call-template name="header-requirements">
+ <xsl:with-param name="file" select="location/@file"/>
+ </xsl:call-template>
+</xsl:if>
+
 [endsect]
 
 <xsl:if test="$overload-count &gt; 1 and $overload-position = $overload-count">

Modified: branches/release/libs/asio/example/echo/async_udp_echo_server.cpp
==============================================================================
--- branches/release/libs/asio/example/echo/async_udp_echo_server.cpp (original)
+++ branches/release/libs/asio/example/echo/async_udp_echo_server.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -50,7 +50,8 @@
     }
   }
 
- void handle_send_to(const boost::system::error_code& error, size_t bytes_sent)
+ void handle_send_to(const boost::system::error_code& /*error*/,
+ size_t /*bytes_sent*/)
   {
     socket_.async_receive_from(
         boost::asio::buffer(data_, max_length), sender_endpoint_,

Modified: branches/release/libs/asio/example/http/server/request_handler.cpp
==============================================================================
--- branches/release/libs/asio/example/http/server/request_handler.cpp (original)
+++ branches/release/libs/asio/example/http/server/request_handler.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -89,7 +89,7 @@
     {
       if (i + 3 <= in.size())
       {
- int value;
+ int value = 0;
         std::istringstream is(in.substr(i + 1, 2));
         if (is >> std::hex >> value)
         {

Modified: branches/release/libs/asio/example/http/server/request_parser.cpp
==============================================================================
--- branches/release/libs/asio/example/http/server/request_parser.cpp (original)
+++ branches/release/libs/asio/example/http/server/request_parser.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -300,7 +300,7 @@
 
 bool request_parser::is_ctl(int c)
 {
- return c >= 0 && c <= 31 || c == 127;
+ return (c >= 0 && c <= 31) || (c == 127);
 }
 
 bool request_parser::is_tspecial(int c)

Modified: branches/release/libs/asio/example/http/server2/request_handler.cpp
==============================================================================
--- branches/release/libs/asio/example/http/server2/request_handler.cpp (original)
+++ branches/release/libs/asio/example/http/server2/request_handler.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -89,7 +89,7 @@
     {
       if (i + 3 <= in.size())
       {
- int value;
+ int value = 0;
         std::istringstream is(in.substr(i + 1, 2));
         if (is >> std::hex >> value)
         {

Modified: branches/release/libs/asio/example/http/server2/request_parser.cpp
==============================================================================
--- branches/release/libs/asio/example/http/server2/request_parser.cpp (original)
+++ branches/release/libs/asio/example/http/server2/request_parser.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -300,7 +300,7 @@
 
 bool request_parser::is_ctl(int c)
 {
- return c >= 0 && c <= 31 || c == 127;
+ return (c >= 0 && c <= 31) || (c == 127);
 }
 
 bool request_parser::is_tspecial(int c)

Modified: branches/release/libs/asio/example/http/server3/request_handler.cpp
==============================================================================
--- branches/release/libs/asio/example/http/server3/request_handler.cpp (original)
+++ branches/release/libs/asio/example/http/server3/request_handler.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -89,7 +89,7 @@
     {
       if (i + 3 <= in.size())
       {
- int value;
+ int value = 0;
         std::istringstream is(in.substr(i + 1, 2));
         if (is >> std::hex >> value)
         {

Modified: branches/release/libs/asio/example/http/server3/request_parser.cpp
==============================================================================
--- branches/release/libs/asio/example/http/server3/request_parser.cpp (original)
+++ branches/release/libs/asio/example/http/server3/request_parser.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -300,7 +300,7 @@
 
 bool request_parser::is_ctl(int c)
 {
- return c >= 0 && c <= 31 || c == 127;
+ return (c >= 0 && c <= 31) || (c == 127);
 }
 
 bool request_parser::is_tspecial(int c)

Modified: branches/release/libs/asio/example/local/connect_pair.cpp
==============================================================================
--- branches/release/libs/asio/example/local/connect_pair.cpp (original)
+++ branches/release/libs/asio/example/local/connect_pair.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -95,7 +95,7 @@
   }
 }
 
-int main(int argc, char* argv[])
+int main()
 {
   try
   {

Modified: branches/release/libs/asio/example/porthopper/server.cpp
==============================================================================
--- branches/release/libs/asio/example/porthopper/server.cpp (original)
+++ branches/release/libs/asio/example/porthopper/server.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -82,7 +82,7 @@
   }
 
   void handle_control_request_timer(tcp_socket_ptr socket,
- control_request_ptr request, timer_ptr delay_timer)
+ control_request_ptr request, timer_ptr /*delay_timer*/)
   {
     // Determine what address this client is connected from, since
     // subscriptions must be stored on the server as a complete endpoint, not

Modified: branches/release/libs/asio/example/services/logger_service.hpp
==============================================================================
--- branches/release/libs/asio/example/services/logger_service.hpp (original)
+++ branches/release/libs/asio/example/services/logger_service.hpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -89,7 +89,7 @@
   /// output file for all logger instances, and so the impl parameter is not
   /// actually needed. It is retained here to illustrate how service functions
   /// are typically defined.
- void use_file(impl_type& impl, const std::string& file)
+ void use_file(impl_type& /*impl*/, const std::string& file)
   {
     // Pass the work of opening the file to the background thread.
     work_io_service_.post(boost::bind(

Modified: branches/release/libs/asio/example/timeouts/datagram_receive_timeout.cpp
==============================================================================
--- branches/release/libs/asio/example/timeouts/datagram_receive_timeout.cpp (original)
+++ branches/release/libs/asio/example/timeouts/datagram_receive_timeout.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -34,7 +34,8 @@
     timer_.async_wait(boost::bind(&datagram_handler::close, this));
   }
 
- void handle_receive_from(const boost::system::error_code& err, size_t length)
+ void handle_receive_from(const boost::system::error_code& err,
+ size_t /*length*/)
   {
     if (err)
     {

Modified: branches/release/libs/asio/test/buffers_iterator.cpp
==============================================================================
--- branches/release/libs/asio/test/buffers_iterator.cpp (original)
+++ branches/release/libs/asio/test/buffers_iterator.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -63,18 +63,30 @@
     buffers_iterator<vector<const_buffer>, char> bi11;
     buffers_iterator<vector<const_buffer>, const char> bi12;
 
- buffers_iterator<mutable_buffers_1, char> bi13(bi1);
- buffers_iterator<mutable_buffers_1, const char> bi14(bi2);
- buffers_iterator<array<mutable_buffer, 2>, char> bi15(bi3);
- buffers_iterator<array<mutable_buffer, 2>, const char> bi16(bi4);
- buffers_iterator<vector<mutable_buffer>, char> bi17(bi5);
- buffers_iterator<vector<mutable_buffer>, const char> bi18(bi6);
- buffers_iterator<const_buffers_1, char> bi19(bi7);
- buffers_iterator<const_buffers_1, const char> bi20(bi8);
- buffers_iterator<array<const_buffer, 2>, char> bi21(bi9);
- buffers_iterator<array<const_buffer, 2>, const char> bi22(bi10);
- buffers_iterator<vector<const_buffer>, char> bi23(bi11);
- buffers_iterator<vector<const_buffer>, const char> bi24(bi12);
+ buffers_iterator<mutable_buffers_1, char> bi13(
+ buffers_iterator<mutable_buffers_1, char>::begin(mb1));
+ buffers_iterator<mutable_buffers_1, const char> bi14(
+ buffers_iterator<mutable_buffers_1, const char>::begin(mb1));
+ buffers_iterator<array<mutable_buffer, 2>, char> bi15(
+ buffers_iterator<array<mutable_buffer, 2>, char>::begin(mb2));
+ buffers_iterator<array<mutable_buffer, 2>, const char> bi16(
+ buffers_iterator<array<mutable_buffer, 2>, const char>::begin(mb2));
+ buffers_iterator<vector<mutable_buffer>, char> bi17(
+ buffers_iterator<vector<mutable_buffer>, char>::begin(mb3));
+ buffers_iterator<vector<mutable_buffer>, const char> bi18(
+ buffers_iterator<vector<mutable_buffer>, const char>::begin(mb3));
+ buffers_iterator<const_buffers_1, char> bi19(
+ buffers_iterator<const_buffers_1, char>::begin(cb1));
+ buffers_iterator<const_buffers_1, const char> bi20(
+ buffers_iterator<const_buffers_1, const char>::begin(cb1));
+ buffers_iterator<array<const_buffer, 2>, char> bi21(
+ buffers_iterator<array<const_buffer, 2>, char>::begin(cb2));
+ buffers_iterator<array<const_buffer, 2>, const char> bi22(
+ buffers_iterator<array<const_buffer, 2>, const char>::begin(cb2));
+ buffers_iterator<vector<const_buffer>, char> bi23(
+ buffers_iterator<vector<const_buffer>, char>::begin(cb3));
+ buffers_iterator<vector<const_buffer>, const char> bi24(
+ buffers_iterator<vector<const_buffer>, const char>::begin(cb3));
 
     // buffers_iterator member functions.
 

Modified: branches/release/libs/asio/test/deadline_timer.cpp
==============================================================================
--- branches/release/libs/asio/test/deadline_timer.cpp (original)
+++ branches/release/libs/asio/test/deadline_timer.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -179,9 +179,87 @@
   BOOST_CHECK(expected_end < end || expected_end == end);
 }
 
+void timer_handler(const boost::system::error_code&)
+{
+}
+
+void deadline_timer_cancel_test()
+{
+ static boost::asio::io_service io_service;
+ struct timer
+ {
+ boost::asio::deadline_timer t;
+ timer() : t(io_service) { t.expires_at(boost::posix_time::pos_infin); }
+ } timers[50];
+
+ timers[2].t.async_wait(timer_handler);
+ timers[41].t.async_wait(timer_handler);
+ for (int i = 10; i < 20; ++i)
+ timers[i].t.async_wait(timer_handler);
+
+ BOOST_CHECK(timers[2].t.cancel() == 1);
+ BOOST_CHECK(timers[41].t.cancel() == 1);
+ for (int i = 10; i < 20; ++i)
+ BOOST_CHECK(timers[i].t.cancel() == 1);
+}
+
+struct custom_allocation_timer_handler
+{
+ custom_allocation_timer_handler(int* count) : count_(count) {}
+ void operator()(const boost::system::error_code&) {}
+ int* count_;
+};
+
+void* asio_handler_allocate(std::size_t size,
+ custom_allocation_timer_handler* handler)
+{
+ ++(*handler->count_);
+ return ::operator new(size);
+}
+
+void asio_handler_deallocate(void* pointer, std::size_t,
+ custom_allocation_timer_handler* handler)
+{
+ --(*handler->count_);
+ ::operator delete(pointer);
+}
+
+void deadline_timer_custom_allocation_test()
+{
+ static boost::asio::io_service io_service;
+ struct timer
+ {
+ boost::asio::deadline_timer t;
+ timer() : t(io_service) {}
+ } timers[100];
+
+ int allocation_count = 0;
+
+ for (int i = 0; i < 50; ++i)
+ {
+ timers[i].t.expires_at(boost::posix_time::pos_infin);
+ timers[i].t.async_wait(custom_allocation_timer_handler(&allocation_count));
+ }
+
+ for (int i = 50; i < 100; ++i)
+ {
+ timers[i].t.expires_at(boost::posix_time::neg_infin);
+ timers[i].t.async_wait(custom_allocation_timer_handler(&allocation_count));
+ }
+
+ for (int i = 0; i < 50; ++i)
+ timers[i].t.cancel();
+
+ io_service.run();
+
+ BOOST_CHECK(allocation_count == 0);
+}
+
 test_suite* init_unit_test_suite(int, char*[])
 {
   test_suite* test = BOOST_TEST_SUITE("deadline_timer");
   test->add(BOOST_TEST_CASE(&deadline_timer_test));
+ test->add(BOOST_TEST_CASE(&deadline_timer_cancel_test));
+ test->add(BOOST_TEST_CASE(&deadline_timer_custom_allocation_test));
   return test;
 }

Modified: branches/release/libs/asio/test/read.cpp
==============================================================================
--- branches/release/libs/asio/test/read.cpp (original)
+++ branches/release/libs/asio/test/read.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -163,13 +163,13 @@
 }
 
 bool old_style_transfer_all(const boost::system::error_code& ec,
- size_t bytes_transferred)
+ size_t /*bytes_transferred*/)
 {
   return !!ec;
 }
 
 size_t short_transfer(const boost::system::error_code& ec,
- size_t bytes_transferred)
+ size_t /*bytes_transferred*/)
 {
   return !!ec ? 0 : 3;
 }

Modified: branches/release/libs/asio/test/read_at.cpp
==============================================================================
--- branches/release/libs/asio/test/read_at.cpp (original)
+++ branches/release/libs/asio/test/read_at.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -188,13 +188,13 @@
 }
 
 bool old_style_transfer_all(const boost::system::error_code& ec,
- size_t bytes_transferred)
+ size_t /*bytes_transferred*/)
 {
   return !!ec;
 }
 
 size_t short_transfer(const boost::system::error_code& ec,
- size_t bytes_transferred)
+ size_t /*bytes_transferred*/)
 {
   return !!ec ? 0 : 3;
 }

Modified: branches/release/libs/asio/test/write.cpp
==============================================================================
--- branches/release/libs/asio/test/write.cpp (original)
+++ branches/release/libs/asio/test/write.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -160,13 +160,13 @@
 }
 
 bool old_style_transfer_all(const boost::system::error_code& ec,
- size_t bytes_transferred)
+ size_t /*bytes_transferred*/)
 {
   return !!ec;
 }
 
 size_t short_transfer(const boost::system::error_code& ec,
- size_t bytes_transferred)
+ size_t /*bytes_transferred*/)
 {
   return !!ec ? 0 : 3;
 }

Modified: branches/release/libs/asio/test/write_at.cpp
==============================================================================
--- branches/release/libs/asio/test/write_at.cpp (original)
+++ branches/release/libs/asio/test/write_at.cpp 2009-06-29 09:36:06 EDT (Mon, 29 Jun 2009)
@@ -174,13 +174,13 @@
 }
 
 bool old_style_transfer_all(const boost::system::error_code& ec,
- size_t bytes_transferred)
+ size_t /*bytes_transferred*/)
 {
   return !!ec;
 }
 
 size_t short_transfer(const boost::system::error_code& ec,
- size_t bytes_transferred)
+ size_t /*bytes_transferred*/)
 {
   return !!ec ? 0 : 3;
 }


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