Fix documentation generation where overloads of a function have different
brief descriptions.
diff --git a/asio/src/doc/reference.qbk b/asio/src/doc/reference.qbk
index f86e2e0..6eec7f8 100644
--- a/asio/src/doc/reference.qbk
+++ b/asio/src/doc/reference.qbk
@@ -2203,7 +2203,13 @@
   
   [
     [[link 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 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 asio.reference.basic_datagram_socket.basic_datagram_socket.overload1 basic_datagram_socket]``(
       asio::io_service & io_service);
 
+Construct and open a basic_datagram_socket. 
+
   ``[link asio.reference.basic_datagram_socket.basic_datagram_socket.overload2 basic_datagram_socket]``(
       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 asio.reference.basic_datagram_socket.basic_datagram_socket.overload3 basic_datagram_socket]``(
       asio::io_service & io_service,
       const endpoint_type & endpoint);
 
+Construct a basic_datagram_socket on an existing native socket. 
+
   ``[link asio.reference.basic_datagram_socket.basic_datagram_socket.overload4 basic_datagram_socket]``(
       asio::io_service & io_service,
       const protocol_type & protocol,
@@ -4431,6 +4445,8 @@
 
   lowest_layer_type & ``[link asio.reference.basic_datagram_socket.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.basic_datagram_socket.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -4671,7 +4687,13 @@
   
   [
     [[link 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 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 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 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 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 asio.reference.basic_deadline_timer.basic_deadline_timer.overload1 basic_deadline_timer]``(
       asio::io_service & io_service);
 
+Constructor to set a particular expiry time as an absolute time. 
+
   ``[link asio.reference.basic_deadline_timer.basic_deadline_timer.overload2 basic_deadline_timer]``(
       asio::io_service & io_service,
       const time_type & expiry_time);
 
+Constructor to set a particular expiry time relative to now. 
+
   ``[link asio.reference.basic_deadline_timer.basic_deadline_timer.overload3 basic_deadline_timer]``(
       asio::io_service & io_service,
       const duration_type & expiry_time);
@@ -6812,6 +6848,8 @@
 
   time_type ``[link 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 asio.reference.basic_deadline_timer.expires_at.overload2 expires_at]``(
       const time_type & expiry_time);
 
@@ -6913,6 +6951,8 @@
 
   duration_type ``[link 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 asio.reference.basic_deadline_timer.expires_from_now.overload2 expires_from_now]``(
       const duration_type & expiry_time);
 
@@ -7627,7 +7667,13 @@
   
   [
     [[link 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 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 asio.reference.basic_raw_socket.basic_raw_socket.overload1 basic_raw_socket]``(
       asio::io_service & io_service);
 
+Construct and open a basic_raw_socket. 
+
   ``[link asio.reference.basic_raw_socket.basic_raw_socket.overload2 basic_raw_socket]``(
       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 asio.reference.basic_raw_socket.basic_raw_socket.overload3 basic_raw_socket]``(
       asio::io_service & io_service,
       const endpoint_type & endpoint);
 
+Construct a basic_raw_socket on an existing native socket. 
+
   ``[link asio.reference.basic_raw_socket.basic_raw_socket.overload4 basic_raw_socket]``(
       asio::io_service & io_service,
       const protocol_type & protocol,
@@ -9855,6 +9909,8 @@
 
   lowest_layer_type & ``[link asio.reference.basic_raw_socket.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.basic_raw_socket.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -10095,7 +10151,13 @@
   
   [
     [[link 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 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 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 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 asio.reference.basic_serial_port.basic_serial_port.overload1 basic_serial_port]``(
       asio::io_service & io_service);
 
+Construct and open a basic_serial_port. 
+
   ``[link asio.reference.basic_serial_port.basic_serial_port.overload2 basic_serial_port]``(
       asio::io_service & io_service,
       const char * device);
@@ -12127,6 +12199,8 @@
       asio::io_service & io_service,
       const std::string & device);
 
+Construct a basic_serial_port on an existing native serial port. 
+
   ``[link asio.reference.basic_serial_port.basic_serial_port.overload4 basic_serial_port]``(
       asio::io_service & io_service,
       const native_type & native_serial_port);
@@ -12559,6 +12633,8 @@
 
   lowest_layer_type & ``[link asio.reference.basic_serial_port.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.basic_serial_port.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -12666,7 +12742,11 @@
   
   [
     [[link 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 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 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 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 asio.reference.basic_socket.basic_socket.overload1 basic_socket]``(
       asio::io_service & io_service);
 
+Construct and open a basic_socket. 
+
   ``[link asio.reference.basic_socket.basic_socket.overload2 basic_socket]``(
       asio::io_service & io_service,
       const protocol_type & protocol);
 
+Construct a basic_socket, opening it and binding it to the given local endpoint. 
+
   ``[link asio.reference.basic_socket.basic_socket.overload3 basic_socket]``(
       asio::io_service & io_service,
       const endpoint_type & endpoint);
 
+Construct a basic_socket on an existing native socket. 
+
   ``[link asio.reference.basic_socket.basic_socket.overload4 basic_socket]``(
       asio::io_service & io_service,
       const protocol_type & protocol,
@@ -15154,6 +15250,8 @@
 
   lowest_layer_type & ``[link asio.reference.basic_socket.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.basic_socket.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -15385,7 +15483,13 @@
   
   [
     [[link 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 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 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 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,
       asio::error_code & ec);
 
+Accept a new connection and obtain the endpoint of the peer. 
+
   template<
       typename ``[link asio.reference.SocketService SocketService]``>
   void ``[link asio.reference.basic_socket_acceptor.accept.overload3 accept]``(
@@ -17114,15 +17230,21 @@
   ``[link asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1 basic_socket_acceptor]``(
       asio::io_service & io_service);
 
+Construct an open acceptor. 
+
   ``[link asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2 basic_socket_acceptor]``(
       asio::io_service & io_service,
       const protocol_type & protocol);
 
+Construct an acceptor opened on the given endpoint. 
+
   ``[link asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3 basic_socket_acceptor]``(
       asio::io_service & io_service,
       const endpoint_type & endpoint,
       bool reuse_addr = true);
 
+Construct a basic_socket_acceptor on an existing native acceptor. 
+
   ``[link asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4 basic_socket_acceptor]``(
       asio::io_service & io_service,
       const protocol_type & protocol,
@@ -18902,7 +19024,9 @@
 
   [
     [[link 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 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 asio.reference.basic_socket_streambuf.close [*close]]]
-    [Close the connection. ]
+    [Close the connection. 
+
+     Close the socket. ]
   ]
   
   [
     [[link 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 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 asio.reference.basic_socket_streambuf.close.overload1 close]``();
 
+Close the socket. 
+
   asio::error_code ``[link asio.reference.basic_socket_streambuf.close.overload2 close]``(
       asio::error_code & ec);
 
@@ -20026,6 +20160,8 @@
       ... ,
       TN tn);
 
+Connect the socket to the specified endpoint. 
+
   asio::error_code ``[link asio.reference.basic_socket_streambuf.connect.overload3 connect]``(
       const endpoint_type & peer_endpoint,
       asio::error_code & ec);
@@ -20789,6 +20925,8 @@
 
   lowest_layer_type & ``[link asio.reference.basic_socket_streambuf.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.basic_socket_streambuf.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -21029,7 +21167,13 @@
   
   [
     [[link 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 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 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 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 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 asio.reference.basic_stream_socket.basic_stream_socket.overload1 basic_stream_socket]``(
       asio::io_service & io_service);
 
+Construct and open a basic_stream_socket. 
+
   ``[link asio.reference.basic_stream_socket.basic_stream_socket.overload2 basic_stream_socket]``(
       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 asio.reference.basic_stream_socket.basic_stream_socket.overload3 basic_stream_socket]``(
       asio::io_service & io_service,
       const endpoint_type & endpoint);
 
+Construct a basic_stream_socket on an existing native socket. 
+
   ``[link asio.reference.basic_stream_socket.basic_stream_socket.overload4 basic_stream_socket]``(
       asio::io_service & io_service,
       const protocol_type & protocol,
@@ -24447,6 +24609,8 @@
 
   lowest_layer_type & ``[link asio.reference.basic_stream_socket.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.basic_stream_socket.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -24687,7 +24851,13 @@
   
   [
     [[link 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 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 asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link asio.reference.basic_stream_socket.receive.overload3 receive]``(
@@ -27647,7 +27821,9 @@
   
   [
     [[link 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 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 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 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 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 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 asio.reference.buffered_read_stream.fill.overload2 fill]``(
       asio::error_code & ec);
 
@@ -27960,6 +28146,8 @@
 
   lowest_layer_type & ``[link asio.reference.buffered_read_stream.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.buffered_read_stream.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -28035,6 +28223,8 @@
   std::size_t ``[link 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 asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link asio.reference.buffered_read_stream.peek.overload2 peek]``(
@@ -28083,6 +28273,8 @@
   std::size_t ``[link 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 asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link asio.reference.buffered_read_stream.read_some.overload2 read_some]``(
@@ -28131,6 +28323,8 @@
   std::size_t ``[link 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 asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link asio.reference.buffered_read_stream.write_some.overload2 write_some]``(
@@ -28239,12 +28433,16 @@
   
   [
     [[link 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 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 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 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 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 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 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 asio.reference.buffered_stream.fill.overload2 fill]``(
       asio::error_code & ec);
 
@@ -28491,6 +28699,8 @@
 
   std::size_t ``[link 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 asio.reference.buffered_stream.flush.overload2 flush]``(
       asio::error_code & ec);
 
@@ -28587,6 +28797,8 @@
 
   lowest_layer_type & ``[link asio.reference.buffered_stream.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.buffered_stream.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -28662,6 +28874,8 @@
   std::size_t ``[link 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 asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link asio.reference.buffered_stream.peek.overload2 peek]``(
@@ -28710,6 +28924,8 @@
   std::size_t ``[link 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 asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link asio.reference.buffered_stream.read_some.overload2 read_some]``(
@@ -28758,6 +28974,8 @@
   std::size_t ``[link 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 asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link asio.reference.buffered_stream.write_some.overload2 write_some]``(
@@ -28861,7 +29079,9 @@
   
   [
     [[link 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 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 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 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 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 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 asio.reference.buffered_write_stream.flush.overload2 flush]``(
       asio::error_code & ec);
 
@@ -29174,6 +29404,8 @@
 
   lowest_layer_type & ``[link asio.reference.buffered_write_stream.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.buffered_write_stream.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -29249,6 +29481,8 @@
   std::size_t ``[link 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 asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link asio.reference.buffered_write_stream.peek.overload2 peek]``(
@@ -29297,6 +29531,8 @@
   std::size_t ``[link 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 asio.reference.MutableBufferSequence MutableBufferSequence]``>
   std::size_t ``[link asio.reference.buffered_write_stream.read_some.overload2 read_some]``(
@@ -29345,6 +29581,8 @@
   std::size_t ``[link 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 asio.reference.ConstBufferSequence ConstBufferSequence]``>
   std::size_t ``[link asio.reference.buffered_write_stream.write_some.overload2 write_some]``(
@@ -29502,7 +29740,11 @@
 
   [
     [[link 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 asio.reference.const_buffer.const_buffer.overload1 const_buffer]``();
 
+Construct a buffer to represent a given memory range. 
+
   ``[link 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 asio.reference.const_buffer.const_buffer.overload3 const_buffer]``(
       const mutable_buffer & b);
 
@@ -29696,7 +29942,9 @@
   
   [
     [[link 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 asio.reference.const_buffers_1.const_buffers_1.overload2 const_buffers_1]``(
       const const_buffer & b);
 
@@ -29900,7 +30150,11 @@
 
   [
     [[link 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 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 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 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 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 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 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 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 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 asio.reference.deadline_timer_service.expires_from_now.overload2 expires_from_now]``(
       implementation_type & impl,
       const duration_type & expiry_time,
@@ -31843,7 +32113,11 @@
   
   [
     [[link asio.reference.error_code.error_code [*error_code]]]
-    [Default constructor. ]
+    [Default constructor. 
+
+     Construct with specific error code and category. 
+
+     Construct from an error code enum. ]
   ]
   
   [
@@ -31907,10 +32181,14 @@
 
   ``[link asio.reference.error_code.error_code.overload1 error_code]``();
 
+Construct with specific error code and category. 
+
   ``[link asio.reference.error_code.error_code.overload2 error_code]``(
       value_type v,
       error_category c);
 
+Construct from an error code enum. 
+
   template<
       typename ErrorEnum>
   ``[link asio.reference.error_code.error_code.overload3 error_code]``(
@@ -33411,7 +33689,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -33456,6 +33736,8 @@
   ``[link asio.reference.io_service__work.work.overload1 work]``(
       asio::io_service & io_service);
 
+Copy constructor notifies the io_service that work is starting. 
+
   ``[link asio.reference.io_service__work.work.overload2 work]``(
       const work & other);
 
@@ -33521,7 +33803,13 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -33541,7 +33829,11 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -33610,12 +33902,18 @@
 
   ``[link asio.reference.ip__address.address.overload1 address]``();
 
+Construct an address from an IPv4 address. 
+
   ``[link asio.reference.ip__address.address.overload2 address]``(
       const asio::ip::address_v4 & ipv4_address);
 
+Construct an address from an IPv6 address. 
+
   ``[link asio.reference.ip__address.address.overload3 address]``(
       const asio::ip::address_v6 & ipv6_address);
 
+Copy constructor. 
+
   ``[link asio.reference.ip__address.address.overload4 address]``(
       const address & other);
 
@@ -33841,9 +34139,13 @@
   address & ``[link asio.reference.ip__address.operator_eq_.overload1 operator=]``(
       const address & other);
 
+Assign from an IPv4 address. 
+
   address & ``[link asio.reference.ip__address.operator_eq_.overload2 operator=]``(
       const asio::ip::address_v4 & ipv4_address);
 
+Assign from an IPv6 address. 
+
   address & ``[link asio.reference.ip__address.operator_eq_.overload3 operator=]``(
       const asio::ip::address_v6 & ipv6_address);
 
@@ -33991,7 +34293,13 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -34001,7 +34309,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -34125,12 +34435,18 @@
 
   ``[link asio.reference.ip__address_v4.address_v4.overload1 address_v4]``();
 
+Construct an address from raw bytes. 
+
   ``[link 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 asio.reference.ip__address_v4.address_v4.overload3 address_v4]``(
       unsigned long addr);
 
+Copy constructor. 
+
   ``[link asio.reference.ip__address_v4.address_v4.overload4 address_v4]``(
       const address_v4 & other);
 
@@ -34205,6 +34521,8 @@
 
   static address_v4 ``[link 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 asio.reference.ip__address_v4.broadcast.overload2 broadcast]``(
       const address_v4 & addr,
       const address_v4 & mask);
@@ -34619,7 +34937,11 @@
 
   [
     [[link asio.reference.ip__address_v6.address_v6 [*address_v6]]]
-    [Default constructor. ]
+    [Default constructor. 
+
+     Construct an address from raw bytes and scope ID. 
+
+     Copy constructor. ]
   ]
   
   [
@@ -34798,10 +35120,14 @@
 
   ``[link asio.reference.ip__address_v6.address_v6.overload1 address_v6]``();
 
+Construct an address from raw bytes and scope ID. 
+
   ``[link asio.reference.ip__address_v6.address_v6.overload2 address_v6]``(
       const bytes_type & bytes,
       unsigned long scope_id = 0);
 
+Copy constructor. 
+
   ``[link asio.reference.ip__address_v6.address_v6.overload3 address_v6]``(
       const address_v6 & other);
 
@@ -35398,12 +35724,20 @@
 
   [
     [[link 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 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. ]
   ]
   
   [
@@ -35423,7 +35757,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -35492,6 +35828,8 @@
 
   asio::ip::address ``[link asio.reference.ip__basic_endpoint.address.overload1 address]``() const;
 
+Set the IP address associated with the endpoint. 
+
   void ``[link asio.reference.ip__basic_endpoint.address.overload2 address]``(
       const asio::ip::address & addr);
 
@@ -35528,14 +35866,20 @@
 
   ``[link 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 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 asio.reference.ip__basic_endpoint.basic_endpoint.overload3 basic_endpoint]``(
       const asio::ip::address & addr,
       unsigned short port_num);
 
+Copy constructor. 
+
   ``[link asio.reference.ip__basic_endpoint.basic_endpoint.overload4 basic_endpoint]``(
       const basic_endpoint & other);
 
@@ -35764,6 +36108,8 @@
 
   unsigned short ``[link 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 asio.reference.ip__basic_endpoint.port.overload2 port]``(
       unsigned short port_num);
 
@@ -35912,7 +36258,9 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -35937,7 +36285,9 @@
   
   [
     [[link 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. ]
   ]
   
 ]
@@ -35978,6 +36328,8 @@
       const query & q,
       ResolveHandler handler);
 
+Asynchronously perform reverse resolution of an endpoint to a list of entries. 
+
   template<
       typename ``[link asio.reference.ResolveHandler ResolveHandler]``>
   void ``[link asio.reference.ip__basic_resolver.async_resolve.overload2 async_resolve]``(
@@ -36256,6 +36608,8 @@
       const query & q,
       asio::error_code & ec);
 
+Perform reverse resolution of an endpoint to a list of entries. 
+
   iterator ``[link asio.reference.ip__basic_resolver.resolve.overload3 resolve]``(
       const endpoint_type & e);
 
@@ -36498,7 +36852,9 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -36540,6 +36896,8 @@
 
   ``[link asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload1 basic_resolver_entry]``();
 
+Construct with specified endpoint, host name and service name. 
+
   ``[link asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload2 basic_resolver_entry]``(
       const endpoint_type & endpoint,
       const std::string & host_name,
@@ -36671,7 +37029,9 @@
   
   [
     [[link 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. ]
   ]
   
 ]
@@ -36715,6 +37075,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 asio.reference.ip__basic_resolver_iterator.create.overload2 create]``(
       const typename InternetProtocol::endpoint & endpoint,
       const std::string & host_name,
@@ -36784,7 +37146,13 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -36894,16 +37262,22 @@
       const std::string & service_name,
       int flags = passive|address_configured);
 
+Construct with specified service name for a given protocol. 
+
   ``[link 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 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 asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4 basic_resolver_query]``(
       const protocol_type & protocol,
       const std::string & host_name,
@@ -37275,12 +37649,20 @@
 
   [
     [[link 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 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. ]
   ]
   
   [
@@ -37300,7 +37682,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -37482,7 +37866,9 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -37507,7 +37893,9 @@
   
   [
     [[link 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. ]
   ]
   
 ]
@@ -37562,7 +37950,9 @@
   
   [
     [[link 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. ]
   ]
   
 ]
@@ -37617,7 +38007,13 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -37901,7 +38297,13 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -37956,7 +38358,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -38490,7 +38894,9 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -38520,7 +38926,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -38557,6 +38965,8 @@
       const query_type & query,
       Handler handler);
 
+Asynchronously resolve an endpoint to a list of entries. 
+
   template<
       typename ``[link asio.reference.ResolveHandler ResolveHandler]``>
   void ``[link asio.reference.ip__resolver_service.async_resolve.overload2 async_resolve]``(
@@ -38755,6 +39165,8 @@
       const query_type & query,
       asio::error_code & ec);
 
+Resolve an endpoint to a list of entries. 
+
   iterator_type ``[link asio.reference.ip__resolver_service.resolve.overload2 resolve]``(
       implementation_type & impl,
       const endpoint_type & endpoint,
@@ -39107,7 +39519,9 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -39122,7 +39536,13 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -39292,12 +39712,20 @@
 
   [
     [[link 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 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. ]
   ]
   
   [
@@ -39317,7 +39745,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -39411,7 +39841,9 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -39578,7 +40010,9 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -39603,7 +40037,9 @@
   
   [
     [[link 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. ]
   ]
   
 ]
@@ -39658,7 +40094,9 @@
   
   [
     [[link 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. ]
   ]
   
 ]
@@ -39713,7 +40151,13 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -39997,7 +40441,13 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -40052,7 +40502,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -40072,7 +40524,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -40338,12 +40792,20 @@
 
   [
     [[link 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 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. ]
   ]
   
   [
@@ -40363,7 +40825,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -40545,7 +41009,9 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -40570,7 +41036,9 @@
   
   [
     [[link 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. ]
   ]
   
 ]
@@ -40625,7 +41093,9 @@
   
   [
     [[link 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. ]
   ]
   
 ]
@@ -40680,7 +41150,13 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -40964,7 +41440,13 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -41019,7 +41501,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -41385,7 +41869,11 @@
 
   [
     [[link asio.reference.local__basic_endpoint.basic_endpoint [*basic_endpoint]]]
-    [Default constructor. ]
+    [Default constructor. 
+
+     Construct an endpoint using the specified path name. 
+
+     Copy constructor. ]
   ]
   
   [
@@ -41405,7 +41893,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -41474,12 +41964,16 @@
 
   ``[link asio.reference.local__basic_endpoint.basic_endpoint.overload1 basic_endpoint]``();
 
+Construct an endpoint using the specified path name. 
+
   ``[link asio.reference.local__basic_endpoint.basic_endpoint.overload2 basic_endpoint]``(
       const char * path);
 
   ``[link asio.reference.local__basic_endpoint.basic_endpoint.overload3 basic_endpoint]``(
       const std::string & path);
 
+Copy constructor. 
+
   ``[link asio.reference.local__basic_endpoint.basic_endpoint.overload4 basic_endpoint]``(
       const basic_endpoint & other);
 
@@ -41689,6 +42183,8 @@
 
   std::string ``[link asio.reference.local__basic_endpoint.path.overload1 path]``() const;
 
+Set the path associated with the endpoint. 
+
   void ``[link asio.reference.local__basic_endpoint.path.overload2 path]``(
       const char * p);
 
@@ -41941,7 +42437,11 @@
 
   [
     [[link asio.reference.local__basic_endpoint.basic_endpoint [*basic_endpoint]]]
-    [Default constructor. ]
+    [Default constructor. 
+
+     Construct an endpoint using the specified path name. 
+
+     Copy constructor. ]
   ]
   
   [
@@ -41961,7 +42461,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -42260,7 +42762,13 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -42315,7 +42823,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -42670,7 +43180,9 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -42685,7 +43197,13 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -42855,7 +43373,11 @@
 
   [
     [[link asio.reference.local__basic_endpoint.basic_endpoint [*basic_endpoint]]]
-    [Default constructor. ]
+    [Default constructor. 
+
+     Construct an endpoint using the specified path name. 
+
+     Copy constructor. ]
   ]
   
   [
@@ -42875,7 +43397,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -42969,7 +43493,9 @@
 
   [
     [[link 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. ]
   ]
   
   [
@@ -43213,7 +43739,13 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -43268,7 +43800,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -43288,7 +43822,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -43403,7 +43939,9 @@
 
   [
     [[link 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. ]
   ]
   
 ]
@@ -43465,6 +44003,8 @@
 
   ``[link asio.reference.mutable_buffer.mutable_buffer.overload1 mutable_buffer]``();
 
+Construct a buffer to represent a given memory range. 
+
   ``[link asio.reference.mutable_buffer.mutable_buffer.overload2 mutable_buffer]``(
       void * data,
       std::size_t size);
@@ -43586,7 +44126,9 @@
   
   [
     [[link 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. ]
   ]
   
 ]
@@ -43691,6 +44233,8 @@
       void * data,
       std::size_t size);
 
+Construct to represent a single modifiable buffer. 
+
   ``[link asio.reference.mutable_buffers_1.mutable_buffers_1.overload2 mutable_buffers_1]``(
       const mutable_buffer & b);
 
@@ -43785,7 +44329,9 @@
 
   [
     [[link 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. ]
   ]
   
 ]
@@ -43915,7 +44461,9 @@
 
   [
     [[link 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. ]
   ]
   
 ]
@@ -44057,7 +44605,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -44092,7 +44642,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -44186,6 +44738,8 @@
   ``[link asio.reference.posix__basic_descriptor.basic_descriptor.overload1 basic_descriptor]``(
       asio::io_service & io_service);
 
+Construct a basic_descriptor on an existing native descriptor. 
+
   ``[link asio.reference.posix__basic_descriptor.basic_descriptor.overload2 basic_descriptor]``(
       asio::io_service & io_service,
       const native_type & native_descriptor);
@@ -44624,6 +45178,8 @@
 
   lowest_layer_type & ``[link asio.reference.posix__basic_descriptor.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.posix__basic_descriptor.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -44735,7 +45291,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -44770,7 +45328,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -45006,7 +45566,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -45041,7 +45603,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -45250,6 +45814,8 @@
   ``[link asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1 basic_stream_descriptor]``(
       asio::io_service & io_service);
 
+Construct a basic_stream_descriptor on an existing native descriptor. 
+
   ``[link asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2 basic_stream_descriptor]``(
       asio::io_service & io_service,
       const native_type & native_descriptor);
@@ -45701,6 +46267,8 @@
 
   lowest_layer_type & ``[link asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -45821,7 +46389,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -45856,7 +46426,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -46421,7 +46993,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -46456,7 +47030,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -49317,7 +49893,11 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -49352,7 +49932,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -54330,7 +54912,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -54797,6 +55381,8 @@
 
   lowest_layer_type & ``[link asio.reference.ssl__stream.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.ssl__stream.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -56730,7 +57316,11 @@
   
   [
     [[link asio.reference.system_error.system_error [*system_error]]]
-    [Construct with an error code. ]
+    [Construct with an error code. 
+
+     Construct with an error code and context. 
+
+     Copy constructor. ]
   ]
   
   [
@@ -56777,10 +57367,14 @@
   ``[link asio.reference.system_error.system_error.overload1 system_error]``(
       const error_code & code);
 
+Construct with an error code and context. 
+
   ``[link asio.reference.system_error.system_error.overload2 system_error]``(
       const error_code & code,
       const std::string & context);
 
+Copy constructor. 
+
   ``[link asio.reference.system_error.system_error.overload3 system_error]``(
       const system_error & other);
 
@@ -57289,7 +57883,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -57319,7 +57915,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -57413,6 +58011,8 @@
   ``[link asio.reference.windows__basic_handle.basic_handle.overload1 basic_handle]``(
       asio::io_service & io_service);
 
+Construct a basic_handle on an existing native handle. 
+
   ``[link asio.reference.windows__basic_handle.basic_handle.overload2 basic_handle]``(
       asio::io_service & io_service,
       const native_type & native_handle);
@@ -57702,6 +58302,8 @@
 
   lowest_layer_type & ``[link asio.reference.windows__basic_handle.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.windows__basic_handle.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -57799,7 +58401,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -57829,7 +58433,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -58019,7 +58625,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -58049,7 +58657,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -58264,6 +58874,8 @@
   ``[link asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1 basic_random_access_handle]``(
       asio::io_service & io_service);
 
+Construct a basic_random_access_handle on an existing native handle. 
+
   ``[link asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2 basic_random_access_handle]``(
       asio::io_service & io_service,
       const native_type & native_handle);
@@ -58568,6 +59180,8 @@
 
   lowest_layer_type & ``[link 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 asio.reference.windows__basic_random_access_handle.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -58674,7 +59288,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -58704,7 +59320,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -59129,7 +59747,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -59159,7 +59779,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -59368,6 +59990,8 @@
   ``[link asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1 basic_stream_handle]``(
       asio::io_service & io_service);
 
+Construct a basic_stream_handle on an existing native handle. 
+
   ``[link asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2 basic_stream_handle]``(
       asio::io_service & io_service,
       const native_type & native_handle);
@@ -59672,6 +60296,8 @@
 
   lowest_layer_type & ``[link asio.reference.windows__basic_stream_handle.lowest_layer.overload1 lowest_layer]``();
 
+Get a const reference to the lowest layer. 
+
   const lowest_layer_type & ``[link asio.reference.windows__basic_stream_handle.lowest_layer.overload2 lowest_layer]``() const;
 
 
@@ -59778,7 +60404,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -59808,7 +60436,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -60176,7 +60806,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -60186,7 +60818,9 @@
   
   [
     [[link asio.reference.windows__overlapped_ptr.reset [*reset]]]
-    [Reset to empty. ]
+    [Reset to empty. 
+
+     Reset to contain the specified handler, freeing any current OVERLAPPED object. ]
   ]
   
   [
@@ -60260,6 +60894,8 @@
 
   ``[link asio.reference.windows__overlapped_ptr.overlapped_ptr.overload1 overlapped_ptr]``();
 
+Construct an overlapped_ptr to contain the specified handler. 
+
   template<
       typename ``[link asio.reference.Handler Handler]``>
   ``[link asio.reference.windows__overlapped_ptr.overlapped_ptr.overload2 overlapped_ptr]``(
@@ -60314,6 +60950,8 @@
 
   void ``[link asio.reference.windows__overlapped_ptr.reset.overload1 reset]``();
 
+Reset to contain the specified handler, freeing any current OVERLAPPED object. 
+
   template<
       typename ``[link asio.reference.Handler Handler]``>
   void ``[link asio.reference.windows__overlapped_ptr.reset.overload2 reset]``(
@@ -60428,7 +61066,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -60458,7 +61098,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -60957,7 +61599,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
@@ -60987,7 +61631,9 @@
   
   [
     [[link 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. ]
   ]
   
   [
diff --git a/asio/src/doc/reference.xsl b/asio/src/doc/reference.xsl
index c94632d..1b3e678 100644
--- a/asio/src/doc/reference.xsl
+++ b/asio/src/doc/reference.xsl
@@ -613,6 +613,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">
@@ -623,9 +626,19 @@
   <xsl:if test="$overload-position = 1">
   [
     [[link 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>
 ]
@@ -648,6 +661,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">
@@ -658,9 +674,19 @@
   <xsl:if test="$overload-position = 1">
   [
     [[link 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>
 ]
@@ -713,6 +739,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">
@@ -723,9 +752,19 @@
   <xsl:if test="$overload-position = 1">
   [
     [[link 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>
 ]
@@ -748,6 +787,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">
@@ -758,9 +800,19 @@
   <xsl:if test="$overload-position = 1">
   [
     [[link 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>
 ]
@@ -821,6 +873,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