Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r51004 - in branches/release: . boost/asio boost/asio/detail boost/asio/ip/detail boost/asio/ssl/detail libs/asio/doc libs/asio/doc/overview libs/asio/test
From: chris_at_[hidden]
Date: 2009-02-04 01:22:47


Author: chris_kohlhoff
Date: 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
New Revision: 51004
URL: http://svn.boost.org/trac/boost/changeset/51004

Log:
Merged revisions 50943-50950,50961-50964,50987 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r50943 | chris_kohlhoff | 2009-02-01 22:37:18 +1100 (Sun, 01 Feb 2009) | 2 lines
  
  Need to specify socket lib to link correctly on QNX. Fixes #2504.
........
  r50944 | chris_kohlhoff | 2009-02-01 22:42:09 +1100 (Sun, 01 Feb 2009) | 2 lines
  
  Use correct size for IP_MULTICAST_LOOP option on QNX. Fixes #2530.
........
  r50945 | chris_kohlhoff | 2009-02-01 22:57:01 +1100 (Sun, 01 Feb 2009) | 2 lines
  
  Improve warning message when _WIN32_WINNT is not correctly defined. Fixes #2541.
........
  r50946 | chris_kohlhoff | 2009-02-01 23:28:12 +1100 (Sun, 01 Feb 2009) | 2 lines
  
  Suppress unused result warning. Fixes #2534.
........
  r50947 | chris_kohlhoff | 2009-02-01 23:41:01 +1100 (Sun, 01 Feb 2009) | 3 lines
  
  Ensure arguments to windows::overlapped_ptr::complete() are passed through to
  the completion handler. Fixes #2614.
........
  r50948 | chris_kohlhoff | 2009-02-01 23:50:08 +1100 (Sun, 01 Feb 2009) | 2 lines
  
  Add include of <cstring> to fix a compile error on Solaris 10. Fixes #2607.
........
  r50949 | chris_kohlhoff | 2009-02-02 00:25:05 +1100 (Mon, 02 Feb 2009) | 3 lines
  
  Clear the last error following a successful Windows API call, since some
  socket providers may leave last error set even when the call succeeds.
........
  r50950 | chris_kohlhoff | 2009-02-02 00:42:33 +1100 (Mon, 02 Feb 2009) | 2 lines
  
  Fix errors in SSL overview and add a note about handshaking. Fixes #2617 and #2619.
........
  r50961 | chris_kohlhoff | 2009-02-02 17:18:59 +1100 (Mon, 02 Feb 2009) | 2 lines
  
  Use a pipe if eventfd is not supported at runtime. Fixes #2683.
........
  r50962 | chris_kohlhoff | 2009-02-02 18:06:00 +1100 (Mon, 02 Feb 2009) | 2 lines
  
  Add link to asio wiki.
........
  r50963 | chris_kohlhoff | 2009-02-02 20:36:11 +1100 (Mon, 02 Feb 2009) | 4 lines
  
  Use the workaround syntax for specifying a return type with boost::bind.
  Needed for the SSL support to work on some older compilers (in particular,
  g++ 3.4.5 as used with MinGW).
........
  r50964 | chris_kohlhoff | 2009-02-02 20:37:10 +1100 (Mon, 02 Feb 2009) | 2 lines
  
  Update asio version number.
........
  r50987 | chris_kohlhoff | 2009-02-03 22:00:39 +1100 (Tue, 03 Feb 2009) | 2 lines
  
  Fix generated documentation where the overloads of a function have different brief descriptions.
........

Properties modified:
   branches/release/ (props changed)
Text files modified:
   branches/release/boost/asio/detail/eventfd_select_interrupter.hpp | 57 +
   branches/release/boost/asio/detail/pipe_select_interrupter.hpp | 3
   branches/release/boost/asio/detail/posix_fd_set_adapter.hpp | 4
   branches/release/boost/asio/detail/socket_ops.hpp | 48 -
   branches/release/boost/asio/detail/socket_types.hpp | 12
   branches/release/boost/asio/detail/win_iocp_overlapped_ptr.hpp | 3
   branches/release/boost/asio/ip/detail/socket_option.hpp | 2
   branches/release/boost/asio/ssl/detail/openssl_stream_service.hpp | 8
   branches/release/boost/asio/version.hpp | 2
   branches/release/libs/asio/doc/overview/ssl.qbk | 10
   branches/release/libs/asio/doc/reference.qbk | 934 +++++++++++++++++++++++++++++++++------
   branches/release/libs/asio/doc/reference.xsl | 73 ++
   branches/release/libs/asio/doc/using.qbk | 5
   branches/release/libs/asio/test/Jamfile.v2 | 5
   14 files changed, 942 insertions(+), 224 deletions(-)

Modified: branches/release/boost/asio/detail/eventfd_select_interrupter.hpp
==============================================================================
--- branches/release/boost/asio/detail/eventfd_select_interrupter.hpp (original)
+++ branches/release/boost/asio/detail/eventfd_select_interrupter.hpp 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -58,9 +58,9 @@
   eventfd_select_interrupter()
   {
 #if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
- read_descriptor_ = syscall(__NR_eventfd, 0);
+ write_descriptor_ = read_descriptor_ = syscall(__NR_eventfd, 0);
 #else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
- read_descriptor_ = ::eventfd(0, 0);
+ write_descriptor_ = read_descriptor_ = ::eventfd(0, 0);
 #endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
     if (read_descriptor_ != -1)
     {
@@ -68,16 +68,29 @@
     }
     else
     {
- boost::system::error_code ec(errno,
- boost::asio::error::get_system_category());
- boost::system::system_error e(ec, "eventfd_select_interrupter");
- boost::throw_exception(e);
+ int pipe_fds[2];
+ if (pipe(pipe_fds) == 0)
+ {
+ read_descriptor_ = pipe_fds[0];
+ ::fcntl(read_descriptor_, F_SETFL, O_NONBLOCK);
+ write_descriptor_ = pipe_fds[1];
+ ::fcntl(write_descriptor_, F_SETFL, O_NONBLOCK);
+ }
+ else
+ {
+ boost::system::error_code ec(errno,
+ boost::asio::error::get_system_category());
+ boost::system::system_error e(ec, "eventfd_select_interrupter");
+ boost::throw_exception(e);
+ }
     }
   }
 
   // Destructor.
   ~eventfd_select_interrupter()
   {
+ if (write_descriptor_ != -1 && write_descriptor_ != read_descriptor_)
+ ::close(write_descriptor_);
     if (read_descriptor_ != -1)
       ::close(read_descriptor_);
   }
@@ -86,17 +99,31 @@
   void interrupt()
   {
     uint64_t counter(1UL);
- ::write(read_descriptor_, &counter, sizeof(uint64_t));
+ int result = ::write(write_descriptor_, &counter, sizeof(uint64_t));
+ (void)result;
   }
 
   // Reset the select interrupt. Returns true if the call was interrupted.
   bool reset()
   {
- // Only perform one read. The kernel maintains an atomic counter.
- uint64_t counter(0);
- int bytes_read = ::read(read_descriptor_, &counter, sizeof(uint64_t));
- bool was_interrupted = (bytes_read > 0);
- return was_interrupted;
+ if (write_descriptor_ == read_descriptor_)
+ {
+ // Only perform one read. The kernel maintains an atomic counter.
+ uint64_t counter(0);
+ int bytes_read = ::read(read_descriptor_, &counter, sizeof(uint64_t));
+ bool was_interrupted = (bytes_read > 0);
+ return was_interrupted;
+ }
+ else
+ {
+ // Clear all data from the pipe.
+ char data[1024];
+ int bytes_read = ::read(read_descriptor_, data, sizeof(data));
+ bool was_interrupted = (bytes_read > 0);
+ while (bytes_read == sizeof(data))
+ bytes_read = ::read(read_descriptor_, data, sizeof(data));
+ return was_interrupted;
+ }
   }
 
   // Get the read descriptor to be passed to select.
@@ -111,6 +138,12 @@
   // 64bit value will be written on the other end of the connection and this
   // descriptor will become readable.
   int read_descriptor_;
+
+ // The write end of a connection used to interrupt the select call. A single
+ // 64bit non-zero value may be written to this to wake up the select which is
+ // waiting for the other end to become readable. This descriptor will only
+ // differ from the read descriptor when a pipe is used.
+ int write_descriptor_;
 };
 
 } // namespace detail

Modified: branches/release/boost/asio/detail/pipe_select_interrupter.hpp
==============================================================================
--- branches/release/boost/asio/detail/pipe_select_interrupter.hpp (original)
+++ branches/release/boost/asio/detail/pipe_select_interrupter.hpp 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -72,7 +72,8 @@
   void interrupt()
   {
     char byte = 0;
- ::write(write_descriptor_, &byte, 1);
+ int result = ::write(write_descriptor_, &byte, 1);
+ (void)result;
   }
 
   // Reset the select interrupt. Returns true if the call was interrupted.

Modified: branches/release/boost/asio/detail/posix_fd_set_adapter.hpp
==============================================================================
--- branches/release/boost/asio/detail/posix_fd_set_adapter.hpp (original)
+++ branches/release/boost/asio/detail/posix_fd_set_adapter.hpp 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -17,6 +17,10 @@
 
 #include <boost/asio/detail/push_options.hpp>
 
+#include <boost/asio/detail/push_options.hpp>
+#include <cstring>
+#include <boost/asio/detail/pop_options.hpp>
+
 #include <boost/asio/detail/socket_types.hpp>
 
 #if !defined(BOOST_WINDOWS) && !defined(__CYGWIN__)

Modified: branches/release/boost/asio/detail/socket_ops.hpp
==============================================================================
--- branches/release/boost/asio/detail/socket_ops.hpp (original)
+++ branches/release/boost/asio/detail/socket_ops.hpp 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -103,7 +103,7 @@
   }
 #endif
 
-#if defined(BOOST_WINDOWS) && defined(UNDER_CE)
+#if defined(BOOST_WINDOWS)
   clear_error(ec);
 #endif
 
@@ -123,7 +123,7 @@
   clear_error(ec);
   int result = error_wrapper(call_bind(
         &msghdr::msg_namelen, s, addr, addrlen), ec);
-#if defined(BOOST_WINDOWS) && defined(UNDER_CE)
+#if defined(BOOST_WINDOWS)
   if (result == 0)
     clear_error(ec);
 #endif
@@ -135,10 +135,8 @@
   clear_error(ec);
 #if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
   int result = error_wrapper(::closesocket(s), ec);
-# if defined(UNDER_CE)
   if (result == 0)
     clear_error(ec);
-# endif
   return result;
 #else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
   return error_wrapper(::close(s), ec);
@@ -149,7 +147,7 @@
 {
   clear_error(ec);
   int result = error_wrapper(::shutdown(s, what), ec);
-#if defined(BOOST_WINDOWS) && defined(UNDER_CE)
+#if defined(BOOST_WINDOWS)
   if (result == 0)
     clear_error(ec);
 #endif
@@ -169,7 +167,7 @@
   clear_error(ec);
   int result = error_wrapper(call_connect(
         &msghdr::msg_namelen, s, addr, addrlen), ec);
-#if defined(BOOST_WINDOWS) && defined(UNDER_CE)
+#if defined(BOOST_WINDOWS)
   if (result == 0)
     clear_error(ec);
 #endif
@@ -196,7 +194,7 @@
 {
   clear_error(ec);
   int result = error_wrapper(::listen(s, backlog), ec);
-#if defined(BOOST_WINDOWS) && defined(UNDER_CE)
+#if defined(BOOST_WINDOWS)
   if (result == 0)
     clear_error(ec);
 #endif
@@ -277,9 +275,7 @@
         recv_buf_count, &bytes_transferred, &recv_flags, 0, 0), ec);
   if (result != 0)
     return -1;
-# if defined(UNDER_CE)
   clear_error(ec);
-# endif
   return bytes_transferred;
 #else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
   msghdr msg = msghdr();
@@ -305,9 +301,7 @@
   *addrlen = (std::size_t)tmp_addrlen;
   if (result != 0)
     return -1;
-# if defined(UNDER_CE)
   clear_error(ec);
-# endif
   return bytes_transferred;
 #else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
   msghdr msg = msghdr();
@@ -334,9 +328,7 @@
         send_buf_count, &bytes_transferred, send_flags, 0, 0), ec);
   if (result != 0)
     return -1;
-# if defined(UNDER_CE)
   clear_error(ec);
-# endif
   return bytes_transferred;
 #else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
   msghdr msg = msghdr();
@@ -363,9 +355,7 @@
         static_cast<int>(addrlen), 0, 0), ec);
   if (result != 0)
     return -1;
-# if defined(UNDER_CE)
   clear_error(ec);
-# endif
   return bytes_transferred;
 #else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
   msghdr msg = msghdr();
@@ -400,9 +390,7 @@
         reinterpret_cast<const char*>(&optval), sizeof(optval));
   }
 
-# if defined(UNDER_CE)
   clear_error(ec);
-# endif
 
   return s;
 #elif defined(__MACH__) && defined(__APPLE__) || defined(__FreeBSD__)
@@ -464,7 +452,7 @@
   clear_error(ec);
   int result = error_wrapper(call_setsockopt(&msghdr::msg_namelen,
         s, level, optname, optval, optlen), ec);
-# if defined(BOOST_WINDOWS) && defined(UNDER_CE)
+# if defined(BOOST_WINDOWS)
   if (result == 0)
     clear_error(ec);
 # endif
@@ -537,10 +525,8 @@
     *static_cast<DWORD*>(optval) = 1;
     clear_error(ec);
   }
-# if defined(UNDER_CE)
   if (result == 0)
     clear_error(ec);
-# endif
   return result;
 #else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
   clear_error(ec);
@@ -578,7 +564,7 @@
   clear_error(ec);
   int result = error_wrapper(call_getpeername(
         &msghdr::msg_namelen, s, addr, addrlen), ec);
-#if defined(BOOST_WINDOWS) && defined(UNDER_CE)
+#if defined(BOOST_WINDOWS)
   if (result == 0)
     clear_error(ec);
 #endif
@@ -601,7 +587,7 @@
   clear_error(ec);
   int result = error_wrapper(call_getsockname(
         &msghdr::msg_namelen, s, addr, addrlen), ec);
-#if defined(BOOST_WINDOWS) && defined(UNDER_CE)
+#if defined(BOOST_WINDOWS)
   if (result == 0)
     clear_error(ec);
 #endif
@@ -614,10 +600,8 @@
   clear_error(ec);
 #if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
   int result = error_wrapper(::ioctlsocket(s, cmd, arg), ec);
-# if defined(UNDER_CE)
   if (result == 0)
     clear_error(ec);
-# endif
   return result;
 #else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
   return error_wrapper(::ioctl(s, cmd, arg), ec);
@@ -659,7 +643,7 @@
 #else
   int result = error_wrapper(::select(nfds, readfds,
         writefds, exceptfds, timeout), ec);
-# if defined(BOOST_WINDOWS) && defined(UNDER_CE)
+# if defined(BOOST_WINDOWS)
   if (result >= 0)
     clear_error(ec);
 # endif
@@ -675,10 +659,8 @@
   FD_SET(s, &fds);
   clear_error(ec);
   int result = error_wrapper(::select(s, &fds, 0, 0, 0), ec);
-# if defined(UNDER_CE)
   if (result >= 0)
     clear_error(ec);
-# endif
   return result;
 #else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
   pollfd fds;
@@ -698,10 +680,8 @@
   FD_SET(s, &fds);
   clear_error(ec);
   int result = error_wrapper(::select(s, 0, &fds, 0, 0), ec);
-# if defined(UNDER_CE)
   if (result >= 0)
     clear_error(ec);
-# endif
   return result;
 #else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
   pollfd fds;
@@ -724,10 +704,8 @@
   FD_SET(s, &except_fds);
   clear_error(ec);
   int result = error_wrapper(::select(s, 0, &write_fds, &except_fds, 0), ec);
-# if defined(UNDER_CE)
   if (result >= 0)
     clear_error(ec);
-# endif
   return result;
 #else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
   pollfd fds;
@@ -875,10 +853,8 @@
   if (result == socket_error_retval && !ec)
     ec = boost::asio::error::invalid_argument;
 
-#if defined(UNDER_CE)
   if (result != socket_error_retval)
     clear_error(ec);
-#endif
 
   return result == socket_error_retval ? -1 : 1;
 #else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
@@ -907,7 +883,7 @@
 {
   clear_error(ec);
   int result = error_wrapper(::gethostname(name, namelen), ec);
-#if defined(BOOST_WINDOWS) && defined(UNDER_CE)
+#if defined(BOOST_WINDOWS)
   if (result == 0)
     clear_error(ec);
 #endif
@@ -950,9 +926,7 @@
   hostent* retval = error_wrapper(::gethostbyaddr(addr, length, af), ec);
   if (!retval)
     return 0;
-# if defined(UNDER_CE)
   clear_error(ec);
-# endif
   *result = *retval;
   return retval;
 #elif defined(__sun) || defined(__QNX__)
@@ -1001,9 +975,7 @@
   hostent* retval = error_wrapper(::gethostbyname(name), ec);
   if (!retval)
     return 0;
-# if defined(UNDER_CE)
   clear_error(ec);
-# endif
   *result = *retval;
   return result;
 #elif defined(__sun) || defined(__QNX__)

Modified: branches/release/boost/asio/detail/socket_types.hpp
==============================================================================
--- branches/release/boost/asio/detail/socket_types.hpp (original)
+++ branches/release/boost/asio/detail/socket_types.hpp 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -28,11 +28,15 @@
 # endif // defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_)
 # if !defined(_WIN32_WINNT) && !defined(_WIN32_WINDOWS)
 # if defined(_MSC_VER) || defined(__BORLANDC__)
-# pragma message("Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately")
-# pragma message("Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target)")
+# pragma message( \
+ "Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. For example:\n"\
+ "- add -D_WIN32_WINNT=0x0501 to the compiler command line; or\n"\
+ "- add _WIN32_WINNT=0x0501 to your project's Preprocessor Definitions.\n"\
+ "Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target).")
 # else // defined(_MSC_VER) || defined(__BORLANDC__)
-# warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately
-# warning Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target)
+# warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately.
+# warning For example, add -D_WIN32_WINNT=0x0501 to the compiler command line.
+# warning Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target).
 # endif // defined(_MSC_VER) || defined(__BORLANDC__)
 # define _WIN32_WINNT 0x0501
 # endif // !defined(_WIN32_WINNT) && !defined(_WIN32_WINDOWS)

Modified: branches/release/boost/asio/detail/win_iocp_overlapped_ptr.hpp
==============================================================================
--- branches/release/boost/asio/detail/win_iocp_overlapped_ptr.hpp (original)
+++ branches/release/boost/asio/detail/win_iocp_overlapped_ptr.hpp 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -103,7 +103,8 @@
   {
     if (ptr_)
     {
- ptr_->io_service_.post_completion(ptr_, 0, 0);
+ ptr_->ec_ = ec;
+ ptr_->io_service_.post_completion(ptr_, 0, bytes_transferred);
       ptr_ = 0;
     }
   }

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-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -41,7 +41,7 @@
 #if defined(__sun) || defined(__osf__)
   typedef unsigned char ipv4_value_type;
   typedef unsigned char ipv6_value_type;
-#elif defined(_AIX) || defined(__hpux)
+#elif defined(_AIX) || defined(__hpux) || defined(__QNXNTO__)
   typedef unsigned char ipv4_value_type;
   typedef unsigned int ipv6_value_type;
 #else

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-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -337,7 +337,7 @@
         buffer_size = max_buffer_size;
 
       boost::function<int (SSL*)> send_func =
- boost::bind<int>(&::SSL_write, boost::arg<1>(),
+ boost::bind(boost::type<int>(), &::SSL_write, boost::arg<1>(),
             boost::asio::buffer_cast<const void*>(*buffers.begin()),
             static_cast<int>(buffer_size));
       openssl_operation<Stream> op(
@@ -373,7 +373,7 @@
       buffer_size = max_buffer_size;
 
     boost::function<int (SSL*)> send_func =
- boost::bind<int>(&::SSL_write, boost::arg<1>(),
+ boost::bind(boost::type<int>(), &::SSL_write, boost::arg<1>(),
           boost::asio::buffer_cast<const void*>(*buffers.begin()),
           static_cast<int>(buffer_size));
 
@@ -411,7 +411,7 @@
         buffer_size = max_buffer_size;
 
       boost::function<int (SSL*)> recv_func =
- boost::bind<int>(&::SSL_read, boost::arg<1>(),
+ boost::bind(boost::type<int>(), &::SSL_read, boost::arg<1>(),
             boost::asio::buffer_cast<void*>(*buffers.begin()),
             static_cast<int>(buffer_size));
       openssl_operation<Stream> op(recv_func,
@@ -447,7 +447,7 @@
       buffer_size = max_buffer_size;
 
     boost::function<int (SSL*)> recv_func =
- boost::bind<int>(&::SSL_read, boost::arg<1>(),
+ boost::bind(boost::type<int>(), &::SSL_read, boost::arg<1>(),
           boost::asio::buffer_cast<void*>(*buffers.begin()),
           static_cast<int>(buffer_size));
 

Modified: branches/release/boost/asio/version.hpp
==============================================================================
--- branches/release/boost/asio/version.hpp (original)
+++ branches/release/boost/asio/version.hpp 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -18,6 +18,6 @@
 // BOOST_ASIO_VERSION % 100 is the sub-minor version
 // BOOST_ASIO_VERSION / 100 % 1000 is the minor version
 // BOOST_ASIO_VERSION / 100000 is the major version
-#define BOOST_ASIO_VERSION 100400 // 1.4.0
+#define BOOST_ASIO_VERSION 100401 // 1.4.1
 
 #endif // BOOST_ASIO_VERSION_HPP

Modified: branches/release/libs/asio/doc/overview/ssl.qbk
==============================================================================
--- branches/release/libs/asio/doc/overview/ssl.qbk (original)
+++ branches/release/libs/asio/doc/overview/ssl.qbk 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -16,7 +16,7 @@
 mode, certificate files, and so on. As an illustration, client-side
 initialisation may look something like:
 
- ssl::context ctx(io_service, ssl::context::sslv23);
+ ssl::context ctx(my_io_service, ssl::context::sslv23);
   ctx.set_verify_mode(ssl::context::verify_peer);
   ctx.load_verify_file("ca.pem");
 
@@ -29,7 +29,7 @@
 obtained using the `ssl::stream` template's [link
 boost_asio.reference.ssl__stream.lowest_layer `lowest_layer()`] member function:
 
- ip::tcp::socket& sock = ssl_sock.lowest_layer();
+ ip::tcp::socket::lowest_layer_type& sock = ssl_sock.lowest_layer();
   sock.connect(my_endpoint);
 
 In some use cases the underlying stream object will need to have a longer
@@ -39,6 +39,12 @@
   ip::tcp::socket sock(my_io_service);
   ssl::stream<ip::tcp::socket&> ssl_sock(sock, ctx);
 
+SSL handshaking must be performed prior to transmitting or receiving data over
+an encrypted connection. This is accomplished using the `ssl::stream`
+template's [link boost_asio.reference.ssl__stream.handshake handshake()] or
+[link boost_asio.reference.ssl__stream.async_handshake async_handshake()] member
+functions.
+
 Once connected, SSL stream objects are used as synchronous or asynchronous read
 and write streams. This means the objects can be used with any of the [link
 boost_asio.reference.read read()], [link boost_asio.reference.async_read async_read()],

Modified: branches/release/libs/asio/doc/reference.qbk
==============================================================================
--- branches/release/libs/asio/doc/reference.qbk (original)
+++ branches/release/libs/asio/doc/reference.qbk 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -2203,7 +2203,13 @@
   
   [
     [[link boost_asio.reference.basic_datagram_socket.basic_datagram_socket [*basic_datagram_socket]]]
- [Construct a basic_datagram_socket without opening it. ]
+ [Construct a basic_datagram_socket without opening it.
+
+ Construct and open a basic_datagram_socket.
+
+ Construct a basic_datagram_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_datagram_socket on an existing native socket. ]
   ]
   
   [
@@ -2258,7 +2264,9 @@
   
   [
     [[link boost_asio.reference.basic_datagram_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -3119,14 +3127,20 @@
   ``[link boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1 basic_datagram_socket]``(
       boost::asio::io_service & io_service);
 
+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);
 
+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);
 
+Construct a basic_datagram_socket on an existing native socket.
+
   ``[link boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4 basic_datagram_socket]``(
       boost::asio::io_service & io_service,
       const protocol_type & protocol,
@@ -4431,6 +4445,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.basic_datagram_socket.lowest_layer.overload1 lowest_layer]``();
 
+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;
 
 
@@ -4671,7 +4687,13 @@
   
   [
     [[link boost_asio.reference.basic_socket.basic_socket [*basic_socket]]]
- [Construct a basic_socket without opening it. ]
+ [Construct a basic_socket without opening it.
+
+ Construct and open a basic_socket.
+
+ Construct a basic_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_socket on an existing native socket. ]
   ]
   
   [
@@ -4726,7 +4748,9 @@
   
   [
     [[link boost_asio.reference.basic_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -6440,7 +6464,11 @@
   
   [
     [[link boost_asio.reference.basic_deadline_timer.basic_deadline_timer [*basic_deadline_timer]]]
- [Constructor. ]
+ [Constructor.
+
+ Constructor to set a particular expiry time as an absolute time.
+
+ Constructor to set a particular expiry time relative to now. ]
   ]
   
   [
@@ -6450,12 +6478,16 @@
   
   [
     [[link boost_asio.reference.basic_deadline_timer.expires_at [*expires_at]]]
- [Get the timer's expiry time as an absolute time. ]
+ [Get the timer's expiry time as an absolute time.
+
+ Set the timer's expiry time as an absolute time. ]
   ]
   
   [
     [[link boost_asio.reference.basic_deadline_timer.expires_from_now [*expires_from_now]]]
- [Get the timer's expiry time relative to now. ]
+ [Get the timer's expiry time relative to now.
+
+ Set the timer's expiry time relative to now. ]
   ]
   
   [
@@ -6625,10 +6657,14 @@
   ``[link boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1 basic_deadline_timer]``(
       boost::asio::io_service & io_service);
 
+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);
 
+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);
@@ -6812,6 +6848,8 @@
 
   time_type ``[link boost_asio.reference.basic_deadline_timer.expires_at.overload1 expires_at]``() const;
 
+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);
 
@@ -6913,6 +6951,8 @@
 
   duration_type ``[link boost_asio.reference.basic_deadline_timer.expires_from_now.overload1 expires_from_now]``() const;
 
+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);
 
@@ -7627,7 +7667,13 @@
   
   [
     [[link boost_asio.reference.basic_raw_socket.basic_raw_socket [*basic_raw_socket]]]
- [Construct a basic_raw_socket without opening it. ]
+ [Construct a basic_raw_socket without opening it.
+
+ Construct and open a basic_raw_socket.
+
+ Construct a basic_raw_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_raw_socket on an existing native socket. ]
   ]
   
   [
@@ -7682,7 +7728,9 @@
   
   [
     [[link boost_asio.reference.basic_raw_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -8543,14 +8591,20 @@
   ``[link boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1 basic_raw_socket]``(
       boost::asio::io_service & io_service);
 
+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);
 
+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);
 
+Construct a basic_raw_socket on an existing native socket.
+
   ``[link boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4 basic_raw_socket]``(
       boost::asio::io_service & io_service,
       const protocol_type & protocol,
@@ -9855,6 +9909,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.basic_raw_socket.lowest_layer.overload1 lowest_layer]``();
 
+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;
 
 
@@ -10095,7 +10151,13 @@
   
   [
     [[link boost_asio.reference.basic_socket.basic_socket [*basic_socket]]]
- [Construct a basic_socket without opening it. ]
+ [Construct a basic_socket without opening it.
+
+ Construct and open a basic_socket.
+
+ Construct a basic_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_socket on an existing native socket. ]
   ]
   
   [
@@ -10150,7 +10212,9 @@
   
   [
     [[link boost_asio.reference.basic_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -11866,7 +11930,11 @@
   
   [
     [[link boost_asio.reference.basic_serial_port.basic_serial_port [*basic_serial_port]]]
- [Construct a basic_serial_port without opening it. ]
+ [Construct a basic_serial_port without opening it.
+
+ Construct and open a basic_serial_port.
+
+ Construct a basic_serial_port on an existing native serial port. ]
   ]
   
   [
@@ -11901,7 +11969,9 @@
   
   [
     [[link boost_asio.reference.basic_serial_port.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -12119,6 +12189,8 @@
   ``[link boost_asio.reference.basic_serial_port.basic_serial_port.overload1 basic_serial_port]``(
       boost::asio::io_service & io_service);
 
+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);
@@ -12127,6 +12199,8 @@
       boost::asio::io_service & io_service,
       const std::string & device);
 
+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);
@@ -12559,6 +12633,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.basic_serial_port.lowest_layer.overload1 lowest_layer]``();
 
+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;
 
 
@@ -12666,7 +12742,11 @@
   
   [
     [[link boost_asio.reference.basic_serial_port.basic_serial_port [*basic_serial_port]]]
- [Construct a basic_serial_port without opening it. ]
+ [Construct a basic_serial_port without opening it.
+
+ Construct and open a basic_serial_port.
+
+ Construct a basic_serial_port on an existing native serial port. ]
   ]
   
   [
@@ -12701,7 +12781,9 @@
   
   [
     [[link boost_asio.reference.basic_serial_port.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -13471,7 +13553,13 @@
   
   [
     [[link boost_asio.reference.basic_socket.basic_socket [*basic_socket]]]
- [Construct a basic_socket without opening it. ]
+ [Construct a basic_socket without opening it.
+
+ Construct and open a basic_socket.
+
+ Construct a basic_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_socket on an existing native socket. ]
   ]
   
   [
@@ -13526,7 +13614,9 @@
   
   [
     [[link boost_asio.reference.basic_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -13871,14 +13961,20 @@
   ``[link boost_asio.reference.basic_socket.basic_socket.overload1 basic_socket]``(
       boost::asio::io_service & io_service);
 
+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);
 
+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);
 
+Construct a basic_socket on an existing native socket.
+
   ``[link boost_asio.reference.basic_socket.basic_socket.overload4 basic_socket]``(
       boost::asio::io_service & io_service,
       const protocol_type & protocol,
@@ -15154,6 +15250,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.basic_socket.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer.
+
   const lowest_layer_type & ``[link boost_asio.reference.basic_socket.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -15385,7 +15483,13 @@
   
   [
     [[link boost_asio.reference.basic_socket.basic_socket [*basic_socket]]]
- [Construct a basic_socket without opening it. ]
+ [Construct a basic_socket without opening it.
+
+ Construct and open a basic_socket.
+
+ Construct a basic_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_socket on an existing native socket. ]
   ]
   
   [
@@ -15440,7 +15544,9 @@
   
   [
     [[link boost_asio.reference.basic_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -16563,7 +16669,9 @@
 
   [
     [[link boost_asio.reference.basic_socket_acceptor.accept [*accept]]]
- [Accept a new connection. ]
+ [Accept a new connection.
+
+ Accept a new connection and obtain the endpoint of the peer. ]
   ]
   
   [
@@ -16578,7 +16686,13 @@
   
   [
     [[link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor [*basic_socket_acceptor]]]
- [Construct an acceptor without opening it. ]
+ [Construct an acceptor without opening it.
+
+ Construct an open acceptor.
+
+ Construct an acceptor opened on the given endpoint.
+
+ Construct a basic_socket_acceptor on an existing native acceptor. ]
   ]
   
   [
@@ -16724,6 +16838,8 @@
       basic_socket< protocol_type, SocketService > & peer,
       boost::system::error_code & ec);
 
+Accept a new connection and obtain the endpoint of the peer.
+
   template<
       typename ``[link boost_asio.reference.SocketService SocketService]``>
   void ``[link boost_asio.reference.basic_socket_acceptor.accept.overload3 accept]``(
@@ -17114,15 +17230,21 @@
   ``[link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1 basic_socket_acceptor]``(
       boost::asio::io_service & io_service);
 
+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);
 
+Construct an acceptor opened on the given endpoint.
+
   ``[link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3 basic_socket_acceptor]``(
       boost::asio::io_service & io_service,
       const endpoint_type & endpoint,
       bool reuse_addr = true);
 
+Construct a basic_socket_acceptor on an existing native acceptor.
+
   ``[link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4 basic_socket_acceptor]``(
       boost::asio::io_service & io_service,
       const protocol_type & protocol,
@@ -18902,7 +19024,9 @@
 
   [
     [[link boost_asio.reference.basic_socket_iostream.basic_socket_iostream [*basic_socket_iostream]]]
- [Construct a basic_socket_iostream without establishing a connection. ]
+ [Construct a basic_socket_iostream without establishing a connection.
+
+ Establish a connection to an endpoint corresponding to a resolver query. ]
   ]
   
   [
@@ -18928,6 +19052,8 @@
 
   ``[link boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload1 basic_socket_iostream]``();
 
+Establish a connection to an endpoint corresponding to a resolver query.
+
   template<
       typename T1,
       ... ,
@@ -19225,12 +19351,16 @@
   
   [
     [[link boost_asio.reference.basic_socket_streambuf.close [*close]]]
- [Close the connection. ]
+ [Close the connection.
+
+ Close the socket. ]
   ]
   
   [
     [[link boost_asio.reference.basic_socket_streambuf.connect [*connect]]]
- [Establish a connection. ]
+ [Establish a connection.
+
+ Connect the socket to the specified endpoint. ]
   ]
   
   [
@@ -19265,7 +19395,9 @@
   
   [
     [[link boost_asio.reference.basic_socket_streambuf.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -19938,6 +20070,8 @@
 
   basic_socket_streambuf< Protocol, StreamSocketService > * ``[link boost_asio.reference.basic_socket_streambuf.close.overload1 close]``();
 
+Close the socket.
+
   boost::system::error_code ``[link boost_asio.reference.basic_socket_streambuf.close.overload2 close]``(
       boost::system::error_code & ec);
 
@@ -20026,6 +20160,8 @@
       ... ,
       TN tn);
 
+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);
@@ -20789,6 +20925,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1 lowest_layer]``();
 
+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;
 
 
@@ -21029,7 +21167,13 @@
   
   [
     [[link boost_asio.reference.basic_socket.basic_socket [*basic_socket]]]
- [Construct a basic_socket without opening it. ]
+ [Construct a basic_socket without opening it.
+
+ Construct and open a basic_socket.
+
+ Construct a basic_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_socket on an existing native socket. ]
   ]
   
   [
@@ -21084,7 +21228,9 @@
   
   [
     [[link boost_asio.reference.basic_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -22329,7 +22475,13 @@
   
   [
     [[link boost_asio.reference.basic_stream_socket.basic_stream_socket [*basic_stream_socket]]]
- [Construct a basic_stream_socket without opening it. ]
+ [Construct a basic_stream_socket without opening it.
+
+ Construct and open a basic_stream_socket.
+
+ Construct a basic_stream_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_stream_socket on an existing native socket. ]
   ]
   
   [
@@ -22384,7 +22536,9 @@
   
   [
     [[link boost_asio.reference.basic_stream_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -22404,7 +22558,9 @@
   
   [
     [[link boost_asio.reference.basic_stream_socket.receive [*receive]]]
- [Receive some data on the socket. ]
+ [Receive some data on the socket.
+
+ Receive some data on a connected socket. ]
   ]
   
   [
@@ -23135,14 +23291,20 @@
   ``[link boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1 basic_stream_socket]``(
       boost::asio::io_service & io_service);
 
+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);
 
+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);
 
+Construct a basic_stream_socket on an existing native socket.
+
   ``[link boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4 basic_stream_socket]``(
       boost::asio::io_service & io_service,
       const protocol_type & protocol,
@@ -24447,6 +24609,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.basic_stream_socket.lowest_layer.overload1 lowest_layer]``();
 
+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;
 
 
@@ -24687,7 +24851,13 @@
   
   [
     [[link boost_asio.reference.basic_socket.basic_socket [*basic_socket]]]
- [Construct a basic_socket without opening it. ]
+ [Construct a basic_socket without opening it.
+
+ Construct and open a basic_socket.
+
+ Construct a basic_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_socket on an existing native socket. ]
   ]
   
   [
@@ -24742,7 +24912,9 @@
   
   [
     [[link boost_asio.reference.basic_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -25228,6 +25400,8 @@
       const MutableBufferSequence & buffers,
       socket_base::message_flags flags);
 
+Receive some data on a connected socket.
+
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.basic_stream_socket.receive.overload3 receive]``(
@@ -27647,7 +27821,9 @@
   
   [
     [[link boost_asio.reference.buffered_read_stream.fill [*fill]]]
- [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. ]
+ [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.
+
+ 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. ]
   ]
   
   [
@@ -27667,7 +27843,9 @@
   
   [
     [[link boost_asio.reference.buffered_read_stream.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -27677,17 +27855,23 @@
   
   [
     [[link boost_asio.reference.buffered_read_stream.peek [*peek]]]
- [Peek at the incoming data on the stream. Returns the number of bytes read. Throws an exception on failure. ]
+ [Peek at the incoming data on the stream. Returns the number of bytes read. Throws an exception on failure.
+
+ Peek at the incoming data on the stream. Returns the number of bytes read, or 0 if an error occurred. ]
   ]
   
   [
     [[link boost_asio.reference.buffered_read_stream.read_some [*read_some]]]
- [Read some data from the stream. Returns the number of bytes read. Throws an exception on failure. ]
+ [Read some data from the stream. Returns the number of bytes read. Throws an exception on failure.
+
+ Read some data from the stream. Returns the number of bytes read or 0 if an error occurred. ]
   ]
   
   [
     [[link boost_asio.reference.buffered_read_stream.write_some [*write_some]]]
- [Write the given data to the stream. Returns the number of bytes written. Throws an exception on failure. ]
+ [Write the given data to the stream. Returns the number of bytes written. Throws an exception on failure.
+
+ Write the given data to the stream. Returns the number of bytes written, or 0 if an error occurred. ]
   ]
   
 ]
@@ -27864,6 +28048,8 @@
 
   std::size_t ``[link boost_asio.reference.buffered_read_stream.fill.overload1 fill]``();
 
+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);
 
@@ -27960,6 +28146,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.buffered_read_stream.lowest_layer.overload1 lowest_layer]``();
 
+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;
 
 
@@ -28035,6 +28223,8 @@
   std::size_t ``[link boost_asio.reference.buffered_read_stream.peek.overload1 peek]``(
       const MutableBufferSequence & buffers);
 
+Peek at the incoming data on the stream. Returns the number of bytes read, or 0 if an error occurred.
+
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_read_stream.peek.overload2 peek]``(
@@ -28083,6 +28273,8 @@
   std::size_t ``[link boost_asio.reference.buffered_read_stream.read_some.overload1 read_some]``(
       const MutableBufferSequence & buffers);
 
+Read some data from the stream. Returns the number of bytes read or 0 if an error occurred.
+
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_read_stream.read_some.overload2 read_some]``(
@@ -28131,6 +28323,8 @@
   std::size_t ``[link boost_asio.reference.buffered_read_stream.write_some.overload1 write_some]``(
       const ConstBufferSequence & buffers);
 
+Write the given data to the stream. Returns the number of bytes written, or 0 if an error occurred.
+
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_read_stream.write_some.overload2 write_some]``(
@@ -28239,12 +28433,16 @@
   
   [
     [[link boost_asio.reference.buffered_stream.fill [*fill]]]
- [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. ]
+ [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.
+
+ 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. ]
   ]
   
   [
     [[link boost_asio.reference.buffered_stream.flush [*flush]]]
- [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. ]
+ [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.
+
+ 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. ]
   ]
   
   [
@@ -28264,7 +28462,9 @@
   
   [
     [[link boost_asio.reference.buffered_stream.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -28274,17 +28474,23 @@
   
   [
     [[link boost_asio.reference.buffered_stream.peek [*peek]]]
- [Peek at the incoming data on the stream. Returns the number of bytes read. Throws an exception on failure. ]
+ [Peek at the incoming data on the stream. Returns the number of bytes read. Throws an exception on failure.
+
+ Peek at the incoming data on the stream. Returns the number of bytes read, or 0 if an error occurred. ]
   ]
   
   [
     [[link boost_asio.reference.buffered_stream.read_some [*read_some]]]
- [Read some data from the stream. Returns the number of bytes read. Throws an exception on failure. ]
+ [Read some data from the stream. Returns the number of bytes read. Throws an exception on failure.
+
+ Read some data from the stream. Returns the number of bytes read or 0 if an error occurred. ]
   ]
   
   [
     [[link boost_asio.reference.buffered_stream.write_some [*write_some]]]
- [Write the given data to the stream. Returns the number of bytes written. Throws an exception on failure. ]
+ [Write the given data to the stream. Returns the number of bytes written. Throws an exception on failure.
+
+ Write the given data to the stream. Returns the number of bytes written, or 0 if an error occurred. ]
   ]
   
 ]
@@ -28455,6 +28661,8 @@
 
   std::size_t ``[link boost_asio.reference.buffered_stream.fill.overload1 fill]``();
 
+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);
 
@@ -28491,6 +28699,8 @@
 
   std::size_t ``[link boost_asio.reference.buffered_stream.flush.overload1 flush]``();
 
+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);
 
@@ -28587,6 +28797,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.buffered_stream.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer.
+
   const lowest_layer_type & ``[link boost_asio.reference.buffered_stream.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -28662,6 +28874,8 @@
   std::size_t ``[link boost_asio.reference.buffered_stream.peek.overload1 peek]``(
       const MutableBufferSequence & buffers);
 
+Peek at the incoming data on the stream. Returns the number of bytes read, or 0 if an error occurred.
+
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_stream.peek.overload2 peek]``(
@@ -28710,6 +28924,8 @@
   std::size_t ``[link boost_asio.reference.buffered_stream.read_some.overload1 read_some]``(
       const MutableBufferSequence & buffers);
 
+Read some data from the stream. Returns the number of bytes read or 0 if an error occurred.
+
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_stream.read_some.overload2 read_some]``(
@@ -28758,6 +28974,8 @@
   std::size_t ``[link boost_asio.reference.buffered_stream.write_some.overload1 write_some]``(
       const ConstBufferSequence & buffers);
 
+Write the given data to the stream. Returns the number of bytes written, or 0 if an error occurred.
+
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_stream.write_some.overload2 write_some]``(
@@ -28861,7 +29079,9 @@
   
   [
     [[link boost_asio.reference.buffered_write_stream.flush [*flush]]]
- [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. ]
+ [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.
+
+ 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. ]
   ]
   
   [
@@ -28881,7 +29101,9 @@
   
   [
     [[link boost_asio.reference.buffered_write_stream.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -28891,17 +29113,23 @@
   
   [
     [[link boost_asio.reference.buffered_write_stream.peek [*peek]]]
- [Peek at the incoming data on the stream. Returns the number of bytes read. Throws an exception on failure. ]
+ [Peek at the incoming data on the stream. Returns the number of bytes read. Throws an exception on failure.
+
+ Peek at the incoming data on the stream. Returns the number of bytes read, or 0 if an error occurred. ]
   ]
   
   [
     [[link boost_asio.reference.buffered_write_stream.read_some [*read_some]]]
- [Read some data from the stream. Returns the number of bytes read. Throws an exception on failure. ]
+ [Read some data from the stream. Returns the number of bytes read. Throws an exception on failure.
+
+ Read some data from the stream. Returns the number of bytes read or 0 if an error occurred. ]
   ]
   
   [
     [[link boost_asio.reference.buffered_write_stream.write_some [*write_some]]]
- [Write the given data to the stream. Returns the number of bytes written. Throws an exception on failure. ]
+ [Write the given data to the stream. Returns the number of bytes written. Throws an exception on failure.
+
+ 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. ]
   ]
   
 ]
@@ -29078,6 +29306,8 @@
 
   std::size_t ``[link boost_asio.reference.buffered_write_stream.flush.overload1 flush]``();
 
+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);
 
@@ -29174,6 +29404,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.buffered_write_stream.lowest_layer.overload1 lowest_layer]``();
 
+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;
 
 
@@ -29249,6 +29481,8 @@
   std::size_t ``[link boost_asio.reference.buffered_write_stream.peek.overload1 peek]``(
       const MutableBufferSequence & buffers);
 
+Peek at the incoming data on the stream. Returns the number of bytes read, or 0 if an error occurred.
+
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_write_stream.peek.overload2 peek]``(
@@ -29297,6 +29531,8 @@
   std::size_t ``[link boost_asio.reference.buffered_write_stream.read_some.overload1 read_some]``(
       const MutableBufferSequence & buffers);
 
+Read some data from the stream. Returns the number of bytes read or 0 if an error occurred.
+
   template<
       typename ``[link boost_asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_write_stream.read_some.overload2 read_some]``(
@@ -29345,6 +29581,8 @@
   std::size_t ``[link boost_asio.reference.buffered_write_stream.write_some.overload1 write_some]``(
       const ConstBufferSequence & buffers);
 
+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.
+
   template<
       typename ``[link boost_asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link boost_asio.reference.buffered_write_stream.write_some.overload2 write_some]``(
@@ -29502,7 +29740,11 @@
 
   [
     [[link boost_asio.reference.const_buffer.const_buffer [*const_buffer]]]
- [Construct an empty buffer. ]
+ [Construct an empty buffer.
+
+ Construct a buffer to represent a given memory range.
+
+ Construct a non-modifiable buffer from a modifiable one. ]
   ]
   
 ]
@@ -29564,10 +29806,14 @@
 
   ``[link boost_asio.reference.const_buffer.const_buffer.overload1 const_buffer]``();
 
+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);
 
+Construct a non-modifiable buffer from a modifiable one.
+
   ``[link boost_asio.reference.const_buffer.const_buffer.overload3 const_buffer]``(
       const mutable_buffer & b);
 
@@ -29696,7 +29942,9 @@
   
   [
     [[link boost_asio.reference.const_buffers_1.const_buffers_1 [*const_buffers_1]]]
- [Construct to represent a given memory range. ]
+ [Construct to represent a given memory range.
+
+ Construct to represent a single non-modifiable buffer. ]
   ]
   
   [
@@ -29781,6 +30029,8 @@
       const void * data,
       std::size_t size);
 
+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);
 
@@ -29900,7 +30150,11 @@
 
   [
     [[link boost_asio.reference.const_buffer.const_buffer [*const_buffer]]]
- [Construct an empty buffer. ]
+ [Construct an empty buffer.
+
+ Construct a buffer to represent a given memory range.
+
+ Construct a non-modifiable buffer from a modifiable one. ]
   ]
   
 ]
@@ -30766,7 +31020,11 @@
   
   [
     [[link boost_asio.reference.basic_deadline_timer.basic_deadline_timer [*basic_deadline_timer]]]
- [Constructor. ]
+ [Constructor.
+
+ Constructor to set a particular expiry time as an absolute time.
+
+ Constructor to set a particular expiry time relative to now. ]
   ]
   
   [
@@ -30776,12 +31034,16 @@
   
   [
     [[link boost_asio.reference.basic_deadline_timer.expires_at [*expires_at]]]
- [Get the timer's expiry time as an absolute time. ]
+ [Get the timer's expiry time as an absolute time.
+
+ Set the timer's expiry time as an absolute time. ]
   ]
   
   [
     [[link boost_asio.reference.basic_deadline_timer.expires_from_now [*expires_from_now]]]
- [Get the timer's expiry time relative to now. ]
+ [Get the timer's expiry time relative to now.
+
+ Set the timer's expiry time relative to now. ]
   ]
   
   [
@@ -30985,12 +31247,16 @@
   
   [
     [[link boost_asio.reference.deadline_timer_service.expires_at [*expires_at]]]
- [Get the expiry time for the timer as an absolute time. ]
+ [Get the expiry time for the timer as an absolute time.
+
+ Set the expiry time for the timer as an absolute time. ]
   ]
   
   [
     [[link boost_asio.reference.deadline_timer_service.expires_from_now [*expires_from_now]]]
- [Get the expiry time for the timer relative to now. ]
+ [Get the expiry time for the timer relative to now.
+
+ Set the expiry time for the timer relative to now. ]
   ]
   
   [
@@ -31115,6 +31381,8 @@
   time_type ``[link boost_asio.reference.deadline_timer_service.expires_at.overload1 expires_at]``(
       const implementation_type & impl) const;
 
+Set the expiry time for the timer as an absolute time.
+
   std::size_t ``[link boost_asio.reference.deadline_timer_service.expires_at.overload2 expires_at]``(
       implementation_type & impl,
       const time_type & expiry_time,
@@ -31157,6 +31425,8 @@
   duration_type ``[link boost_asio.reference.deadline_timer_service.expires_from_now.overload1 expires_from_now]``(
       const implementation_type & impl) const;
 
+Set the expiry time for the timer relative to now.
+
   std::size_t ``[link boost_asio.reference.deadline_timer_service.expires_from_now.overload2 expires_from_now]``(
       implementation_type & impl,
       const duration_type & expiry_time,
@@ -33127,7 +33397,9 @@
   
   [
     [[link boost_asio.reference.io_service__work.work [*work]]]
- [Constructor notifies the io_service that work is starting. ]
+ [Constructor notifies the io_service that work is starting.
+
+ Copy constructor notifies the io_service that work is starting. ]
   ]
   
   [
@@ -33172,6 +33444,8 @@
   ``[link boost_asio.reference.io_service__work.work.overload1 work]``(
       boost::asio::io_service & io_service);
 
+Copy constructor notifies the io_service that work is starting.
+
   ``[link boost_asio.reference.io_service__work.work.overload2 work]``(
       const work & other);
 
@@ -33237,7 +33511,13 @@
 
   [
     [[link boost_asio.reference.ip__address.address [*address]]]
- [Default constructor. ]
+ [Default constructor.
+
+ Construct an address from an IPv4 address.
+
+ Construct an address from an IPv6 address.
+
+ Copy constructor. ]
   ]
   
   [
@@ -33257,7 +33537,11 @@
   
   [
     [[link boost_asio.reference.ip__address.operator_eq_ [*operator=]]]
- [Assign from another address. ]
+ [Assign from another address.
+
+ Assign from an IPv4 address.
+
+ Assign from an IPv6 address. ]
   ]
   
   [
@@ -33326,12 +33610,18 @@
 
   ``[link boost_asio.reference.ip__address.address.overload1 address]``();
 
+Construct an address from an IPv4 address.
+
   ``[link boost_asio.reference.ip__address.address.overload2 address]``(
       const boost::asio::ip::address_v4 & ipv4_address);
 
+Construct an address from an IPv6 address.
+
   ``[link boost_asio.reference.ip__address.address.overload3 address]``(
       const boost::asio::ip::address_v6 & ipv6_address);
 
+Copy constructor.
+
   ``[link boost_asio.reference.ip__address.address.overload4 address]``(
       const address & other);
 
@@ -33557,9 +33847,13 @@
   address & ``[link boost_asio.reference.ip__address.operator_eq_.overload1 operator=]``(
       const address & other);
 
+Assign from an IPv4 address.
+
   address & ``[link boost_asio.reference.ip__address.operator_eq_.overload2 operator=]``(
       const boost::asio::ip::address_v4 & ipv4_address);
 
+Assign from an IPv6 address.
+
   address & ``[link boost_asio.reference.ip__address.operator_eq_.overload3 operator=]``(
       const boost::asio::ip::address_v6 & ipv6_address);
 
@@ -33707,7 +34001,13 @@
 
   [
     [[link boost_asio.reference.ip__address_v4.address_v4 [*address_v4]]]
- [Default constructor. ]
+ [Default constructor.
+
+ Construct an address from raw bytes.
+
+ Construct an address from a unsigned long in host byte order.
+
+ Copy constructor. ]
   ]
   
   [
@@ -33717,7 +34017,9 @@
   
   [
     [[link boost_asio.reference.ip__address_v4.broadcast [*broadcast]]]
- [Obtain an address object that represents the broadcast address. ]
+ [Obtain an address object that represents the broadcast address.
+
+ Obtain an address object that represents the broadcast address that corresponds to the specified address and netmask. ]
   ]
   
   [
@@ -33841,12 +34143,18 @@
 
   ``[link boost_asio.reference.ip__address_v4.address_v4.overload1 address_v4]``();
 
+Construct an address from raw bytes.
+
   ``[link boost_asio.reference.ip__address_v4.address_v4.overload2 address_v4]``(
       const bytes_type & bytes);
 
+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);
 
+Copy constructor.
+
   ``[link boost_asio.reference.ip__address_v4.address_v4.overload4 address_v4]``(
       const address_v4 & other);
 
@@ -33921,6 +34229,8 @@
 
   static address_v4 ``[link boost_asio.reference.ip__address_v4.broadcast.overload1 broadcast]``();
 
+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);
@@ -34335,7 +34645,11 @@
 
   [
     [[link boost_asio.reference.ip__address_v6.address_v6 [*address_v6]]]
- [Default constructor. ]
+ [Default constructor.
+
+ Construct an address from raw bytes and scope ID.
+
+ Copy constructor. ]
   ]
   
   [
@@ -34514,10 +34828,14 @@
 
   ``[link boost_asio.reference.ip__address_v6.address_v6.overload1 address_v6]``();
 
+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);
 
+Copy constructor.
+
   ``[link boost_asio.reference.ip__address_v6.address_v6.overload3 address_v6]``(
       const address_v6 & other);
 
@@ -35114,12 +35432,20 @@
 
   [
     [[link boost_asio.reference.ip__basic_endpoint.address [*address]]]
- [Get the IP address associated with the endpoint. ]
+ [Get the IP address associated with the endpoint.
+
+ Set the IP address associated with the endpoint. ]
   ]
   
   [
     [[link boost_asio.reference.ip__basic_endpoint.basic_endpoint [*basic_endpoint]]]
- [Default constructor. ]
+ [Default constructor.
+
+ 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.
+
+ 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.
+
+ Copy constructor. ]
   ]
   
   [
@@ -35139,7 +35465,9 @@
   
   [
     [[link boost_asio.reference.ip__basic_endpoint.port [*port]]]
- [Get the port associated with the endpoint. The port number is always in the host's byte order. ]
+ [Get the port associated with the endpoint. The port number is always in the host's byte order.
+
+ Set the port associated with the endpoint. The port number is always in the host's byte order. ]
   ]
   
   [
@@ -35208,6 +35536,8 @@
 
   boost::asio::ip::address ``[link boost_asio.reference.ip__basic_endpoint.address.overload1 address]``() const;
 
+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);
 
@@ -35244,14 +35574,20 @@
 
   ``[link boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload1 basic_endpoint]``();
 
+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);
 
+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);
 
+Copy constructor.
+
   ``[link boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload4 basic_endpoint]``(
       const basic_endpoint & other);
 
@@ -35480,6 +35816,8 @@
 
   unsigned short ``[link boost_asio.reference.ip__basic_endpoint.port.overload1 port]``() const;
 
+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);
 
@@ -35628,7 +35966,9 @@
 
   [
     [[link boost_asio.reference.ip__basic_resolver.async_resolve [*async_resolve]]]
- [Asynchronously perform forward resolution of a query to a list of entries. ]
+ [Asynchronously perform forward resolution of a query to a list of entries.
+
+ Asynchronously perform reverse resolution of an endpoint to a list of entries. ]
   ]
   
   [
@@ -35653,7 +35993,9 @@
   
   [
     [[link boost_asio.reference.ip__basic_resolver.resolve [*resolve]]]
- [Perform forward resolution of a query to a list of entries. ]
+ [Perform forward resolution of a query to a list of entries.
+
+ Perform reverse resolution of an endpoint to a list of entries. ]
   ]
   
 ]
@@ -35694,6 +36036,8 @@
       const query & q,
       ResolveHandler handler);
 
+Asynchronously perform reverse resolution of an endpoint to a list of entries.
+
   template<
       typename ``[link boost_asio.reference.ResolveHandler ResolveHandler]``>
   void ``[link boost_asio.reference.ip__basic_resolver.async_resolve.overload2 async_resolve]``(
@@ -35972,6 +36316,8 @@
       const query & q,
       boost::system::error_code & ec);
 
+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);
 
@@ -36214,7 +36560,9 @@
 
   [
     [[link boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry [*basic_resolver_entry]]]
- [Default constructor. ]
+ [Default constructor.
+
+ Construct with specified endpoint, host name and service name. ]
   ]
   
   [
@@ -36256,6 +36604,8 @@
 
   ``[link boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload1 basic_resolver_entry]``();
 
+Construct with specified endpoint, host name and service name.
+
   ``[link boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload2 basic_resolver_entry]``(
       const endpoint_type & endpoint,
       const std::string & host_name,
@@ -36387,7 +36737,9 @@
   
   [
     [[link boost_asio.reference.ip__basic_resolver_iterator.create [*create]]]
- [Create an iterator from an addrinfo list returned by getaddrinfo. ]
+ [Create an iterator from an addrinfo list returned by getaddrinfo.
+
+ Create an iterator from an endpoint, host name and service name. ]
   ]
   
 ]
@@ -36431,6 +36783,8 @@
       const std::string & host_name,
       const std::string & service_name);
 
+Create an iterator from an endpoint, host name and service name.
+
   static basic_resolver_iterator ``[link boost_asio.reference.ip__basic_resolver_iterator.create.overload2 create]``(
       const typename InternetProtocol::endpoint & endpoint,
       const std::string & host_name,
@@ -36500,7 +36854,13 @@
 
   [
     [[link boost_asio.reference.ip__basic_resolver_query.basic_resolver_query [*basic_resolver_query]]]
- [Construct with specified service name for any protocol. ]
+ [Construct with specified service name for any protocol.
+
+ Construct with specified service name for a given protocol.
+
+ Construct with specified host name and service name for any protocol.
+
+ Construct with specified host name and service name for a given protocol. ]
   ]
   
   [
@@ -36610,16 +36970,22 @@
       const std::string & service_name,
       int flags = passive|address_configured);
 
+Construct with specified service name for a given protocol.
+
   ``[link boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2 basic_resolver_query]``(
       const protocol_type & protocol,
       const std::string & service_name,
       int flags = passive|address_configured);
 
+Construct with specified host name and service name for any protocol.
+
   ``[link boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3 basic_resolver_query]``(
       const std::string & host_name,
       const std::string & service_name,
       int flags = address_configured);
 
+Construct with specified host name and service name for a given protocol.
+
   ``[link boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4 basic_resolver_query]``(
       const protocol_type & protocol,
       const std::string & host_name,
@@ -36991,12 +37357,20 @@
 
   [
     [[link boost_asio.reference.ip__basic_endpoint.address [*address]]]
- [Get the IP address associated with the endpoint. ]
+ [Get the IP address associated with the endpoint.
+
+ Set the IP address associated with the endpoint. ]
   ]
   
   [
     [[link boost_asio.reference.ip__basic_endpoint.basic_endpoint [*basic_endpoint]]]
- [Default constructor. ]
+ [Default constructor.
+
+ 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.
+
+ 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.
+
+ Copy constructor. ]
   ]
   
   [
@@ -37016,7 +37390,9 @@
   
   [
     [[link boost_asio.reference.ip__basic_endpoint.port [*port]]]
- [Get the port associated with the endpoint. The port number is always in the host's byte order. ]
+ [Get the port associated with the endpoint. The port number is always in the host's byte order.
+
+ Set the port associated with the endpoint. The port number is always in the host's byte order. ]
   ]
   
   [
@@ -37198,7 +37574,9 @@
 
   [
     [[link boost_asio.reference.ip__basic_resolver.async_resolve [*async_resolve]]]
- [Asynchronously perform forward resolution of a query to a list of entries. ]
+ [Asynchronously perform forward resolution of a query to a list of entries.
+
+ Asynchronously perform reverse resolution of an endpoint to a list of entries. ]
   ]
   
   [
@@ -37223,7 +37601,9 @@
   
   [
     [[link boost_asio.reference.ip__basic_resolver.resolve [*resolve]]]
- [Perform forward resolution of a query to a list of entries. ]
+ [Perform forward resolution of a query to a list of entries.
+
+ Perform reverse resolution of an endpoint to a list of entries. ]
   ]
   
 ]
@@ -37278,7 +37658,9 @@
   
   [
     [[link boost_asio.reference.ip__basic_resolver_iterator.create [*create]]]
- [Create an iterator from an addrinfo list returned by getaddrinfo. ]
+ [Create an iterator from an addrinfo list returned by getaddrinfo.
+
+ Create an iterator from an endpoint, host name and service name. ]
   ]
   
 ]
@@ -37333,7 +37715,13 @@
 
   [
     [[link boost_asio.reference.ip__basic_resolver_query.basic_resolver_query [*basic_resolver_query]]]
- [Construct with specified service name for any protocol. ]
+ [Construct with specified service name for any protocol.
+
+ Construct with specified service name for a given protocol.
+
+ Construct with specified host name and service name for any protocol.
+
+ Construct with specified host name and service name for a given protocol. ]
   ]
   
   [
@@ -37617,7 +38005,13 @@
   
   [
     [[link boost_asio.reference.basic_raw_socket.basic_raw_socket [*basic_raw_socket]]]
- [Construct a basic_raw_socket without opening it. ]
+ [Construct a basic_raw_socket without opening it.
+
+ Construct and open a basic_raw_socket.
+
+ Construct a basic_raw_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_raw_socket on an existing native socket. ]
   ]
   
   [
@@ -37672,7 +38066,9 @@
   
   [
     [[link boost_asio.reference.basic_raw_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -38206,7 +38602,9 @@
 
   [
     [[link boost_asio.reference.ip__resolver_service.async_resolve [*async_resolve]]]
- [Asynchronously resolve a query to a list of entries. ]
+ [Asynchronously resolve a query to a list of entries.
+
+ Asynchronously resolve an endpoint to a list of entries. ]
   ]
   
   [
@@ -38236,7 +38634,9 @@
   
   [
     [[link boost_asio.reference.ip__resolver_service.resolve [*resolve]]]
- [Resolve a query to a list of entries. ]
+ [Resolve a query to a list of entries.
+
+ Resolve an endpoint to a list of entries. ]
   ]
   
   [
@@ -38273,6 +38673,8 @@
       const query_type & query,
       Handler handler);
 
+Asynchronously resolve an endpoint to a list of entries.
+
   template<
       typename ``[link boost_asio.reference.ResolveHandler ResolveHandler]``>
   void ``[link boost_asio.reference.ip__resolver_service.async_resolve.overload2 async_resolve]``(
@@ -38471,6 +38873,8 @@
       const query_type & query,
       boost::system::error_code & ec);
 
+Resolve an endpoint to a list of entries.
+
   iterator_type ``[link boost_asio.reference.ip__resolver_service.resolve.overload2 resolve]``(
       implementation_type & impl,
       const endpoint_type & endpoint,
@@ -38823,7 +39227,9 @@
 
   [
     [[link boost_asio.reference.basic_socket_acceptor.accept [*accept]]]
- [Accept a new connection. ]
+ [Accept a new connection.
+
+ Accept a new connection and obtain the endpoint of the peer. ]
   ]
   
   [
@@ -38838,7 +39244,13 @@
   
   [
     [[link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor [*basic_socket_acceptor]]]
- [Construct an acceptor without opening it. ]
+ [Construct an acceptor without opening it.
+
+ Construct an open acceptor.
+
+ Construct an acceptor opened on the given endpoint.
+
+ Construct a basic_socket_acceptor on an existing native acceptor. ]
   ]
   
   [
@@ -39008,12 +39420,20 @@
 
   [
     [[link boost_asio.reference.ip__basic_endpoint.address [*address]]]
- [Get the IP address associated with the endpoint. ]
+ [Get the IP address associated with the endpoint.
+
+ Set the IP address associated with the endpoint. ]
   ]
   
   [
     [[link boost_asio.reference.ip__basic_endpoint.basic_endpoint [*basic_endpoint]]]
- [Default constructor. ]
+ [Default constructor.
+
+ 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.
+
+ 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.
+
+ Copy constructor. ]
   ]
   
   [
@@ -39033,7 +39453,9 @@
   
   [
     [[link boost_asio.reference.ip__basic_endpoint.port [*port]]]
- [Get the port associated with the endpoint. The port number is always in the host's byte order. ]
+ [Get the port associated with the endpoint. The port number is always in the host's byte order.
+
+ Set the port associated with the endpoint. The port number is always in the host's byte order. ]
   ]
   
   [
@@ -39127,7 +39549,9 @@
 
   [
     [[link boost_asio.reference.basic_socket_iostream.basic_socket_iostream [*basic_socket_iostream]]]
- [Construct a basic_socket_iostream without establishing a connection. ]
+ [Construct a basic_socket_iostream without establishing a connection.
+
+ Establish a connection to an endpoint corresponding to a resolver query. ]
   ]
   
   [
@@ -39294,7 +39718,9 @@
 
   [
     [[link boost_asio.reference.ip__basic_resolver.async_resolve [*async_resolve]]]
- [Asynchronously perform forward resolution of a query to a list of entries. ]
+ [Asynchronously perform forward resolution of a query to a list of entries.
+
+ Asynchronously perform reverse resolution of an endpoint to a list of entries. ]
   ]
   
   [
@@ -39319,7 +39745,9 @@
   
   [
     [[link boost_asio.reference.ip__basic_resolver.resolve [*resolve]]]
- [Perform forward resolution of a query to a list of entries. ]
+ [Perform forward resolution of a query to a list of entries.
+
+ Perform reverse resolution of an endpoint to a list of entries. ]
   ]
   
 ]
@@ -39374,7 +39802,9 @@
   
   [
     [[link boost_asio.reference.ip__basic_resolver_iterator.create [*create]]]
- [Create an iterator from an addrinfo list returned by getaddrinfo. ]
+ [Create an iterator from an addrinfo list returned by getaddrinfo.
+
+ Create an iterator from an endpoint, host name and service name. ]
   ]
   
 ]
@@ -39429,7 +39859,13 @@
 
   [
     [[link boost_asio.reference.ip__basic_resolver_query.basic_resolver_query [*basic_resolver_query]]]
- [Construct with specified service name for any protocol. ]
+ [Construct with specified service name for any protocol.
+
+ Construct with specified service name for a given protocol.
+
+ Construct with specified host name and service name for any protocol.
+
+ Construct with specified host name and service name for a given protocol. ]
   ]
   
   [
@@ -39713,7 +40149,13 @@
   
   [
     [[link boost_asio.reference.basic_stream_socket.basic_stream_socket [*basic_stream_socket]]]
- [Construct a basic_stream_socket without opening it. ]
+ [Construct a basic_stream_socket without opening it.
+
+ Construct and open a basic_stream_socket.
+
+ Construct a basic_stream_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_stream_socket on an existing native socket. ]
   ]
   
   [
@@ -39768,7 +40210,9 @@
   
   [
     [[link boost_asio.reference.basic_stream_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -39788,7 +40232,9 @@
   
   [
     [[link boost_asio.reference.basic_stream_socket.receive [*receive]]]
- [Receive some data on the socket. ]
+ [Receive some data on the socket.
+
+ Receive some data on a connected socket. ]
   ]
   
   [
@@ -40054,12 +40500,20 @@
 
   [
     [[link boost_asio.reference.ip__basic_endpoint.address [*address]]]
- [Get the IP address associated with the endpoint. ]
+ [Get the IP address associated with the endpoint.
+
+ Set the IP address associated with the endpoint. ]
   ]
   
   [
     [[link boost_asio.reference.ip__basic_endpoint.basic_endpoint [*basic_endpoint]]]
- [Default constructor. ]
+ [Default constructor.
+
+ 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.
+
+ 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.
+
+ Copy constructor. ]
   ]
   
   [
@@ -40079,7 +40533,9 @@
   
   [
     [[link boost_asio.reference.ip__basic_endpoint.port [*port]]]
- [Get the port associated with the endpoint. The port number is always in the host's byte order. ]
+ [Get the port associated with the endpoint. The port number is always in the host's byte order.
+
+ Set the port associated with the endpoint. The port number is always in the host's byte order. ]
   ]
   
   [
@@ -40261,7 +40717,9 @@
 
   [
     [[link boost_asio.reference.ip__basic_resolver.async_resolve [*async_resolve]]]
- [Asynchronously perform forward resolution of a query to a list of entries. ]
+ [Asynchronously perform forward resolution of a query to a list of entries.
+
+ Asynchronously perform reverse resolution of an endpoint to a list of entries. ]
   ]
   
   [
@@ -40286,7 +40744,9 @@
   
   [
     [[link boost_asio.reference.ip__basic_resolver.resolve [*resolve]]]
- [Perform forward resolution of a query to a list of entries. ]
+ [Perform forward resolution of a query to a list of entries.
+
+ Perform reverse resolution of an endpoint to a list of entries. ]
   ]
   
 ]
@@ -40341,7 +40801,9 @@
   
   [
     [[link boost_asio.reference.ip__basic_resolver_iterator.create [*create]]]
- [Create an iterator from an addrinfo list returned by getaddrinfo. ]
+ [Create an iterator from an addrinfo list returned by getaddrinfo.
+
+ Create an iterator from an endpoint, host name and service name. ]
   ]
   
 ]
@@ -40396,7 +40858,13 @@
 
   [
     [[link boost_asio.reference.ip__basic_resolver_query.basic_resolver_query [*basic_resolver_query]]]
- [Construct with specified service name for any protocol. ]
+ [Construct with specified service name for any protocol.
+
+ Construct with specified service name for a given protocol.
+
+ Construct with specified host name and service name for any protocol.
+
+ Construct with specified host name and service name for a given protocol. ]
   ]
   
   [
@@ -40680,7 +41148,13 @@
   
   [
     [[link boost_asio.reference.basic_datagram_socket.basic_datagram_socket [*basic_datagram_socket]]]
- [Construct a basic_datagram_socket without opening it. ]
+ [Construct a basic_datagram_socket without opening it.
+
+ Construct and open a basic_datagram_socket.
+
+ Construct a basic_datagram_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_datagram_socket on an existing native socket. ]
   ]
   
   [
@@ -40735,7 +41209,9 @@
   
   [
     [[link boost_asio.reference.basic_datagram_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -41101,7 +41577,11 @@
 
   [
     [[link boost_asio.reference.local__basic_endpoint.basic_endpoint [*basic_endpoint]]]
- [Default constructor. ]
+ [Default constructor.
+
+ Construct an endpoint using the specified path name.
+
+ Copy constructor. ]
   ]
   
   [
@@ -41121,7 +41601,9 @@
   
   [
     [[link boost_asio.reference.local__basic_endpoint.path [*path]]]
- [Get the path associated with the endpoint. ]
+ [Get the path associated with the endpoint.
+
+ Set the path associated with the endpoint. ]
   ]
   
   [
@@ -41190,12 +41672,16 @@
 
   ``[link boost_asio.reference.local__basic_endpoint.basic_endpoint.overload1 basic_endpoint]``();
 
+Construct an endpoint using the specified path name.
+
   ``[link boost_asio.reference.local__basic_endpoint.basic_endpoint.overload2 basic_endpoint]``(
       const char * path);
 
   ``[link boost_asio.reference.local__basic_endpoint.basic_endpoint.overload3 basic_endpoint]``(
       const std::string & path);
 
+Copy constructor.
+
   ``[link boost_asio.reference.local__basic_endpoint.basic_endpoint.overload4 basic_endpoint]``(
       const basic_endpoint & other);
 
@@ -41405,6 +41891,8 @@
 
   std::string ``[link boost_asio.reference.local__basic_endpoint.path.overload1 path]``() const;
 
+Set the path associated with the endpoint.
+
   void ``[link boost_asio.reference.local__basic_endpoint.path.overload2 path]``(
       const char * p);
 
@@ -41657,7 +42145,11 @@
 
   [
     [[link boost_asio.reference.local__basic_endpoint.basic_endpoint [*basic_endpoint]]]
- [Default constructor. ]
+ [Default constructor.
+
+ Construct an endpoint using the specified path name.
+
+ Copy constructor. ]
   ]
   
   [
@@ -41677,7 +42169,9 @@
   
   [
     [[link boost_asio.reference.local__basic_endpoint.path [*path]]]
- [Get the path associated with the endpoint. ]
+ [Get the path associated with the endpoint.
+
+ Set the path associated with the endpoint. ]
   ]
   
   [
@@ -41976,7 +42470,13 @@
   
   [
     [[link boost_asio.reference.basic_datagram_socket.basic_datagram_socket [*basic_datagram_socket]]]
- [Construct a basic_datagram_socket without opening it. ]
+ [Construct a basic_datagram_socket without opening it.
+
+ Construct and open a basic_datagram_socket.
+
+ Construct a basic_datagram_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_datagram_socket on an existing native socket. ]
   ]
   
   [
@@ -42031,7 +42531,9 @@
   
   [
     [[link boost_asio.reference.basic_datagram_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -42386,7 +42888,9 @@
 
   [
     [[link boost_asio.reference.basic_socket_acceptor.accept [*accept]]]
- [Accept a new connection. ]
+ [Accept a new connection.
+
+ Accept a new connection and obtain the endpoint of the peer. ]
   ]
   
   [
@@ -42401,7 +42905,13 @@
   
   [
     [[link boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor [*basic_socket_acceptor]]]
- [Construct an acceptor without opening it. ]
+ [Construct an acceptor without opening it.
+
+ Construct an open acceptor.
+
+ Construct an acceptor opened on the given endpoint.
+
+ Construct a basic_socket_acceptor on an existing native acceptor. ]
   ]
   
   [
@@ -42571,7 +43081,11 @@
 
   [
     [[link boost_asio.reference.local__basic_endpoint.basic_endpoint [*basic_endpoint]]]
- [Default constructor. ]
+ [Default constructor.
+
+ Construct an endpoint using the specified path name.
+
+ Copy constructor. ]
   ]
   
   [
@@ -42591,7 +43105,9 @@
   
   [
     [[link boost_asio.reference.local__basic_endpoint.path [*path]]]
- [Get the path associated with the endpoint. ]
+ [Get the path associated with the endpoint.
+
+ Set the path associated with the endpoint. ]
   ]
   
   [
@@ -42685,7 +43201,9 @@
 
   [
     [[link boost_asio.reference.basic_socket_iostream.basic_socket_iostream [*basic_socket_iostream]]]
- [Construct a basic_socket_iostream without establishing a connection. ]
+ [Construct a basic_socket_iostream without establishing a connection.
+
+ Establish a connection to an endpoint corresponding to a resolver query. ]
   ]
   
   [
@@ -42929,7 +43447,13 @@
   
   [
     [[link boost_asio.reference.basic_stream_socket.basic_stream_socket [*basic_stream_socket]]]
- [Construct a basic_stream_socket without opening it. ]
+ [Construct a basic_stream_socket without opening it.
+
+ Construct and open a basic_stream_socket.
+
+ Construct a basic_stream_socket, opening it and binding it to the given local endpoint.
+
+ Construct a basic_stream_socket on an existing native socket. ]
   ]
   
   [
@@ -42984,7 +43508,9 @@
   
   [
     [[link boost_asio.reference.basic_stream_socket.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -43004,7 +43530,9 @@
   
   [
     [[link boost_asio.reference.basic_stream_socket.receive [*receive]]]
- [Receive some data on the socket. ]
+ [Receive some data on the socket.
+
+ Receive some data on a connected socket. ]
   ]
   
   [
@@ -43119,7 +43647,9 @@
 
   [
     [[link boost_asio.reference.mutable_buffer.mutable_buffer [*mutable_buffer]]]
- [Construct an empty buffer. ]
+ [Construct an empty buffer.
+
+ Construct a buffer to represent a given memory range. ]
   ]
   
 ]
@@ -43181,6 +43711,8 @@
 
   ``[link boost_asio.reference.mutable_buffer.mutable_buffer.overload1 mutable_buffer]``();
 
+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);
@@ -43302,7 +43834,9 @@
   
   [
     [[link boost_asio.reference.mutable_buffers_1.mutable_buffers_1 [*mutable_buffers_1]]]
- [Construct to represent a given memory range. ]
+ [Construct to represent a given memory range.
+
+ Construct to represent a single modifiable buffer. ]
   ]
   
 ]
@@ -43407,6 +43941,8 @@
       void * data,
       std::size_t size);
 
+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);
 
@@ -43501,7 +44037,9 @@
 
   [
     [[link boost_asio.reference.mutable_buffer.mutable_buffer [*mutable_buffer]]]
- [Construct an empty buffer. ]
+ [Construct an empty buffer.
+
+ Construct a buffer to represent a given memory range. ]
   ]
   
 ]
@@ -43631,7 +44169,9 @@
 
   [
     [[link boost_asio.reference.mutable_buffer.mutable_buffer [*mutable_buffer]]]
- [Construct an empty buffer. ]
+ [Construct an empty buffer.
+
+ Construct a buffer to represent a given memory range. ]
   ]
   
 ]
@@ -43773,7 +44313,9 @@
   
   [
     [[link boost_asio.reference.posix__basic_descriptor.basic_descriptor [*basic_descriptor]]]
- [Construct a basic_descriptor without opening it. ]
+ [Construct a basic_descriptor without opening it.
+
+ Construct a basic_descriptor on an existing native descriptor. ]
   ]
   
   [
@@ -43808,7 +44350,9 @@
   
   [
     [[link boost_asio.reference.posix__basic_descriptor.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -43902,6 +44446,8 @@
   ``[link boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1 basic_descriptor]``(
       boost::asio::io_service & io_service);
 
+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);
@@ -44340,6 +44886,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1 lowest_layer]``();
 
+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;
 
 
@@ -44451,7 +44999,9 @@
   
   [
     [[link boost_asio.reference.posix__basic_descriptor.basic_descriptor [*basic_descriptor]]]
- [Construct a basic_descriptor without opening it. ]
+ [Construct a basic_descriptor without opening it.
+
+ Construct a basic_descriptor on an existing native descriptor. ]
   ]
   
   [
@@ -44486,7 +45036,9 @@
   
   [
     [[link boost_asio.reference.posix__basic_descriptor.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -44722,7 +45274,9 @@
   
   [
     [[link boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor [*basic_stream_descriptor]]]
- [Construct a basic_stream_descriptor without opening it. ]
+ [Construct a basic_stream_descriptor without opening it.
+
+ Construct a basic_stream_descriptor on an existing native descriptor. ]
   ]
   
   [
@@ -44757,7 +45311,9 @@
   
   [
     [[link boost_asio.reference.posix__basic_stream_descriptor.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -44966,6 +45522,8 @@
   ``[link boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1 basic_stream_descriptor]``(
       boost::asio::io_service & io_service);
 
+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);
@@ -45417,6 +45975,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1 lowest_layer]``();
 
+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;
 
 
@@ -45537,7 +46097,9 @@
   
   [
     [[link boost_asio.reference.posix__basic_descriptor.basic_descriptor [*basic_descriptor]]]
- [Construct a basic_descriptor without opening it. ]
+ [Construct a basic_descriptor without opening it.
+
+ Construct a basic_descriptor on an existing native descriptor. ]
   ]
   
   [
@@ -45572,7 +46134,9 @@
   
   [
     [[link boost_asio.reference.posix__basic_descriptor.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -46137,7 +46701,9 @@
   
   [
     [[link boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor [*basic_stream_descriptor]]]
- [Construct a basic_stream_descriptor without opening it. ]
+ [Construct a basic_stream_descriptor without opening it.
+
+ Construct a basic_stream_descriptor on an existing native descriptor. ]
   ]
   
   [
@@ -46172,7 +46738,9 @@
   
   [
     [[link boost_asio.reference.posix__basic_stream_descriptor.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -49033,7 +49601,11 @@
   
   [
     [[link boost_asio.reference.basic_serial_port.basic_serial_port [*basic_serial_port]]]
- [Construct a basic_serial_port without opening it. ]
+ [Construct a basic_serial_port without opening it.
+
+ Construct and open a basic_serial_port.
+
+ Construct a basic_serial_port on an existing native serial port. ]
   ]
   
   [
@@ -49068,7 +49640,9 @@
   
   [
     [[link boost_asio.reference.basic_serial_port.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -54046,7 +54620,9 @@
   
   [
     [[link boost_asio.reference.ssl__stream.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -54513,6 +55089,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.ssl__stream.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer.
+
   const lowest_layer_type & ``[link boost_asio.reference.ssl__stream.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -56739,7 +57317,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_handle.basic_handle [*basic_handle]]]
- [Construct a basic_handle without opening it. ]
+ [Construct a basic_handle without opening it.
+
+ Construct a basic_handle on an existing native handle. ]
   ]
   
   [
@@ -56769,7 +57349,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_handle.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -56863,6 +57445,8 @@
   ``[link boost_asio.reference.windows__basic_handle.basic_handle.overload1 basic_handle]``(
       boost::asio::io_service & io_service);
 
+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);
@@ -57152,6 +57736,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.windows__basic_handle.lowest_layer.overload1 lowest_layer]``();
 
+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;
 
 
@@ -57249,7 +57835,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_handle.basic_handle [*basic_handle]]]
- [Construct a basic_handle without opening it. ]
+ [Construct a basic_handle without opening it.
+
+ Construct a basic_handle on an existing native handle. ]
   ]
   
   [
@@ -57279,7 +57867,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_handle.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -57469,7 +58059,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle [*basic_random_access_handle]]]
- [Construct a basic_random_access_handle without opening it. ]
+ [Construct a basic_random_access_handle without opening it.
+
+ Construct a basic_random_access_handle on an existing native handle. ]
   ]
   
   [
@@ -57499,7 +58091,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_random_access_handle.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -57714,6 +58308,8 @@
   ``[link boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1 basic_random_access_handle]``(
       boost::asio::io_service & io_service);
 
+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);
@@ -58018,6 +58614,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1 lowest_layer]``();
 
+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;
 
 
@@ -58124,7 +58722,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_handle.basic_handle [*basic_handle]]]
- [Construct a basic_handle without opening it. ]
+ [Construct a basic_handle without opening it.
+
+ Construct a basic_handle on an existing native handle. ]
   ]
   
   [
@@ -58154,7 +58754,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_handle.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -58579,7 +59181,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_stream_handle.basic_stream_handle [*basic_stream_handle]]]
- [Construct a basic_stream_handle without opening it. ]
+ [Construct a basic_stream_handle without opening it.
+
+ Construct a basic_stream_handle on an existing native handle. ]
   ]
   
   [
@@ -58609,7 +59213,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_stream_handle.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -58818,6 +59424,8 @@
   ``[link boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1 basic_stream_handle]``(
       boost::asio::io_service & io_service);
 
+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);
@@ -59122,6 +59730,8 @@
 
   lowest_layer_type & ``[link boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1 lowest_layer]``();
 
+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;
 
 
@@ -59228,7 +59838,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_handle.basic_handle [*basic_handle]]]
- [Construct a basic_handle without opening it. ]
+ [Construct a basic_handle without opening it.
+
+ Construct a basic_handle on an existing native handle. ]
   ]
   
   [
@@ -59258,7 +59870,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_handle.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -59626,7 +60240,9 @@
   
   [
     [[link boost_asio.reference.windows__overlapped_ptr.overlapped_ptr [*overlapped_ptr]]]
- [Construct an empty overlapped_ptr. ]
+ [Construct an empty overlapped_ptr.
+
+ Construct an overlapped_ptr to contain the specified handler. ]
   ]
   
   [
@@ -59636,7 +60252,9 @@
   
   [
     [[link boost_asio.reference.windows__overlapped_ptr.reset [*reset]]]
- [Reset to empty. ]
+ [Reset to empty.
+
+ Reset to contain the specified handler, freeing any current OVERLAPPED object. ]
   ]
   
   [
@@ -59710,6 +60328,8 @@
 
   ``[link boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload1 overlapped_ptr]``();
 
+Construct an overlapped_ptr to contain the specified handler.
+
   template<
       typename ``[link boost_asio.reference.Handler Handler]``>
   ``[link boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload2 overlapped_ptr]``(
@@ -59764,6 +60384,8 @@
 
   void ``[link boost_asio.reference.windows__overlapped_ptr.reset.overload1 reset]``();
 
+Reset to contain the specified handler, freeing any current OVERLAPPED object.
+
   template<
       typename ``[link boost_asio.reference.Handler Handler]``>
   void ``[link boost_asio.reference.windows__overlapped_ptr.reset.overload2 reset]``(
@@ -59878,7 +60500,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle [*basic_random_access_handle]]]
- [Construct a basic_random_access_handle without opening it. ]
+ [Construct a basic_random_access_handle without opening it.
+
+ Construct a basic_random_access_handle on an existing native handle. ]
   ]
   
   [
@@ -59908,7 +60532,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_random_access_handle.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [
@@ -60407,7 +61033,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_stream_handle.basic_stream_handle [*basic_stream_handle]]]
- [Construct a basic_stream_handle without opening it. ]
+ [Construct a basic_stream_handle without opening it.
+
+ Construct a basic_stream_handle on an existing native handle. ]
   ]
   
   [
@@ -60437,7 +61065,9 @@
   
   [
     [[link boost_asio.reference.windows__basic_stream_handle.lowest_layer [*lowest_layer]]]
- [Get a reference to the lowest layer. ]
+ [Get a reference to the lowest layer.
+
+ Get a const reference to the lowest layer. ]
   ]
   
   [

Modified: branches/release/libs/asio/doc/reference.xsl
==============================================================================
--- branches/release/libs/asio/doc/reference.xsl (original)
+++ branches/release/libs/asio/doc/reference.xsl 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -631,6 +631,9 @@
   <xsl:variable name="doxygen-id">
     <xsl:value-of select="@id"/>
   </xsl:variable>
+ <xsl:variable name="overload-count">
+ <xsl:value-of select="count(../memberdef[name = $name])"/>
+ </xsl:variable>
   <xsl:variable name="overload-position">
     <xsl:for-each select="../memberdef[name = $name]">
       <xsl:if test="@id = $doxygen-id">
@@ -641,9 +644,19 @@
   <xsl:if test="$overload-position = 1">
   [
     [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/>
- <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/>]]]
- [<xsl:value-of select="briefdescription"/>]
+ <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/><xsl:text>]]]
+ [</xsl:text><xsl:value-of select="briefdescription"/>
+ </xsl:if>
+ <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)">
+ <xsl:value-of select="$newline"/>
+ <xsl:value-of select="$newline"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="briefdescription"/>
+ </xsl:if>
+ <xsl:if test="$overload-position = $overload-count">
+ <xsl:text>]
   ]
+ </xsl:text>
   </xsl:if>
 </xsl:for-each>
 ]
@@ -666,6 +679,9 @@
   <xsl:variable name="doxygen-id">
     <xsl:value-of select="@id"/>
   </xsl:variable>
+ <xsl:variable name="overload-count">
+ <xsl:value-of select="count(../memberdef[name = $name])"/>
+ </xsl:variable>
   <xsl:variable name="overload-position">
     <xsl:for-each select="../memberdef[name = $name]">
       <xsl:if test="@id = $doxygen-id">
@@ -676,9 +692,19 @@
   <xsl:if test="$overload-position = 1">
   [
     [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/>
- <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/>]]]
- [<xsl:value-of select="briefdescription"/>]
+ <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/><xsl:text>]]]
+ [</xsl:text><xsl:value-of select="briefdescription"/>
+ </xsl:if>
+ <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)">
+ <xsl:value-of select="$newline"/>
+ <xsl:value-of select="$newline"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="briefdescription"/>
+ </xsl:if>
+ <xsl:if test="$overload-position = $overload-count">
+ <xsl:text>]
   ]
+ </xsl:text>
   </xsl:if>
 </xsl:for-each>
 ]
@@ -731,6 +757,9 @@
   <xsl:variable name="doxygen-id">
     <xsl:value-of select="@id"/>
   </xsl:variable>
+ <xsl:variable name="overload-count">
+ <xsl:value-of select="count(../memberdef[name = $name])"/>
+ </xsl:variable>
   <xsl:variable name="overload-position">
     <xsl:for-each select="../memberdef[name = $name]">
       <xsl:if test="@id = $doxygen-id">
@@ -741,9 +770,19 @@
   <xsl:if test="$overload-position = 1">
   [
     [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/>
- <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/>]]]
- [<xsl:value-of select="briefdescription"/>]
+ <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/><xsl:text>]]]
+ [</xsl:text><xsl:value-of select="briefdescription"/>
+ </xsl:if>
+ <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)">
+ <xsl:value-of select="$newline"/>
+ <xsl:value-of select="$newline"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="briefdescription"/>
+ </xsl:if>
+ <xsl:if test="$overload-position = $overload-count">
+ <xsl:text>]
   ]
+ </xsl:text>
   </xsl:if>
 </xsl:for-each>
 ]
@@ -766,6 +805,9 @@
   <xsl:variable name="doxygen-id">
     <xsl:value-of select="@id"/>
   </xsl:variable>
+ <xsl:variable name="overload-count">
+ <xsl:value-of select="count(../memberdef[name = $name])"/>
+ </xsl:variable>
   <xsl:variable name="overload-position">
     <xsl:for-each select="../memberdef[name = $name]">
       <xsl:if test="@id = $doxygen-id">
@@ -776,9 +818,19 @@
   <xsl:if test="$overload-position = 1">
   [
     [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/>
- <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/>]]]
- [<xsl:value-of select="briefdescription"/>]
+ <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/><xsl:text>]]]
+ [</xsl:text><xsl:value-of select="briefdescription"/>
+ </xsl:if>
+ <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)">
+ <xsl:value-of select="$newline"/>
+ <xsl:value-of select="$newline"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="briefdescription"/>
+ </xsl:if>
+ <xsl:if test="$overload-position = $overload-count">
+ <xsl:text>]
   ]
+ </xsl:text>
   </xsl:if>
 </xsl:for-each>
 ]
@@ -839,6 +891,11 @@
 </xsl:text>
 
 <xsl:for-each select="../memberdef[name = $name]">
+<xsl:if test="position() &gt; 1 and not(briefdescription = preceding-sibling::*/briefdescription)">
+ <xsl:value-of select="$newline"/>
+ <xsl:value-of select="briefdescription"/>
+ <xsl:value-of select="$newline"/>
+</xsl:if>
 <xsl:text>
 </xsl:text><xsl:apply-templates select="templateparamlist" mode="class-detail"/>
 <xsl:text> </xsl:text><xsl:if test="@static='yes'">static </xsl:if><xsl:if

Modified: branches/release/libs/asio/doc/using.qbk
==============================================================================
--- branches/release/libs/asio/doc/using.qbk (original)
+++ branches/release/libs/asio/doc/using.qbk 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -278,4 +278,9 @@
 access is provided via [@http://dir.gmane.org/gmane.comp.lib.boost.asio.user
 Gmane].
 
+[heading Wiki]
+
+Users are encouraged to share examples, tips and FAQs on the Boost.Asio wiki,
+which is located at [@http://asio.sourceforge.net].
+
 [endsect]

Modified: branches/release/libs/asio/test/Jamfile.v2
==============================================================================
--- branches/release/libs/asio/test/Jamfile.v2 (original)
+++ branches/release/libs/asio/test/Jamfile.v2 2009-02-04 01:22:44 EST (Wed, 04 Feb 2009)
@@ -22,6 +22,10 @@
 {
   lib ipv6 ;
 }
+else if [ os.name ] = QNXNTO
+{
+ lib socket ;
+}
 
 local USE_SELECT =
   <define>BOOST_ASIO_DISABLE_DEV_POLL
@@ -51,6 +55,7 @@
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
     <os>HPUX,<toolset>gcc:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
+ <os>QNXNTO:<library>socket
   ;
 
 test-suite "asio" :


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