Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / beast / doc / qbk / reference.qbk
index 847233b..b93eab6 100644 (file)
@@ -16,7 +16,7 @@ An optional list of parameters to forward to the constructor of the object being
 [heading See Also]\r
 [link beast.ref.boost__beast__stable_async_base `stable_async_base`] 
 \r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:boost__beast__async_base async_base]\r
-Base class to assist writing composed operations. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/async_base.hpp]\r\r\r\r```\rtemplate<\r    class __Handler__,\r    class __Executor1__,\r    class __Allocator__ = std::allocator<void>>\rclass async_base\r```\r[heading Types]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__async_base.allocator_type [*allocator_type]]]\r    [\r      The type of allocator associated with this object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.executor_type [*executor_type]]]\r    [\r      The type of executor associated with this object. \r    ]\r  ]\r]\r[heading Member Functions]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__async_base.async_base [*async_base]]]\r    [\r      Constructor. \r\r      Move Constructor. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.complete [*complete]]]\r    [\r      Invoke the final completion handler, maybe using post. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.complete_now [*complete_now]]]\r    [\r      Invoke the final completion handler. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.get_allocator [*get_allocator]]]\r    [\r      Returns the allocator associated with this object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.get_executor [*get_executor]]]\r    [\r      Returns the executor associated with this object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.handler [*handler]]]\r    [\r      Returns the handler associated with this object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.release_handler [*release_handler]]]\r    [\r      Returns ownership of the handler associated with this object. \r    ]\r  ]\r]\r\r[heading Description]\r
+Base class to assist writing composed operations. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/async_base.hpp]\r\r\r\r```\rtemplate<\r    class __Handler__,\r    class __Executor1__,\r    class __Allocator__ = std::allocator<void>>\rclass async_base\r```\r[heading Types]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__async_base.allocator_type [*allocator_type]]]\r    [\r      The type of allocator associated with this object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.executor_type [*executor_type]]]\r    [\r      The type of executor associated with this object. \r    ]\r  ]\r]\r[heading Member Functions]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__async_base.async_base [*async_base]]]\r    [\r      Constructor. \r\r      Move Constructor. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.complete [*complete]]]\r    [\r      Invoke the final completion handler, maybe using post. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.complete_now [*complete_now]]]\r    [\r      Invoke the final completion handler. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.get_allocator [*get_allocator]]]\r    [\r      Returns the allocator associated with this object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.get_executor [*get_executor]]]\r    [\r      Returns the executor associated with this object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.handler [*handler]]]\r    [\r      Returns the handler associated with this object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.operator_eq_ [*operator=]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.release_handler [*release_handler]]]\r    [\r      Returns ownership of the handler associated with this object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__async_base.async_base_dtor_ [*~async_base]]]\r    [\r      \r    ]\r  ]\r]\r\r[heading Description]\r
 A function object submitted to intermediate initiating functions during a composed operation may derive from this type to inherit all of the boilerplate to forward the executor, allocator, and legacy customization points associated with the completion handler invoked at the end of the composed operation.
 The composed operation must be typical; that is, associated with one executor of an I/O object, and invoking a caller-provided completion handler when the operation is finished. Classes derived from [link beast.ref.boost__beast__async_base `async_base`] will acquire these properties:
 
@@ -78,7 +78,7 @@ The following code demonstrates how [link beast.ref.boost__beast__async_base `as
               // `net::post` will be used to call the completion handler, otherwise
               // the completion handler will be invoked directly.
 
-              this->invoke(is_continuation, ec, total_bytes_transferred_);
+              this->complete(is_continuation, ec, total_bytes_transferred_);
           }
       };
 
@@ -111,14 +111,14 @@ The allocator type to use if the handler does not have an associated allocator.
 The type of allocator associated with this object. \r[heading Synopsis]\r\r```\rusing allocator_type = net::associated_allocator_t< Handler, Allocator >;\r```\r\r[heading Description]\r
 If a class derived from [link beast.ref.boost__beast__async_base `async_base`] is a completion handler, then the associated allocator of the derived class will be this type. [endsect]\r[section:async_base async_base::async_base]\r[indexterm2 async_base..async_base]\r
 Constructor. ```\rtemplate<\r    class __Handler__>\r``[link beast.ref.boost__beast__async_base.async_base.overload1 async_base]``(\r    Handler&& handler,\r    Executor1 const& ex1,\r    Allocator const& alloc = Allocator());\r  ``[''''&raquo;''' [link beast.ref.boost__beast__async_base.async_base.overload1 more...]]``\r\r```\r
-Move Constructor. ```\r``[link beast.ref.boost__beast__async_base.async_base.overload2 async_base]``(\r    async_base&& other);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__async_base.async_base.overload2 more...]]``\r```\r[section:overload1 async_base::async_base (1 of 2 overloads)]\r
+Move Constructor. ```\r``[link beast.ref.boost__beast__async_base.async_base.overload2 async_base]``(\r    async_base&& other);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__async_base.async_base.overload2 more...]]``\r\r``[link beast.ref.boost__beast__async_base.async_base.overload3 async_base]``(\r    async_base const&);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__async_base.async_base.overload3 more...]]``\r```\r[section:overload1 async_base::async_base (1 of 3 overloads)]\r
 Constructor. \r[heading Synopsis]\r```\rtemplate<\r    class __Handler__>\rasync_base(\r    Handler&& handler,\r    Executor1 const& ex1,\r    Allocator const& alloc = Allocator());\r```\r\r[heading Description]\r
 [heading Parameters]\r[table [[Name][Description]]\r  [[`handler`][\r    
 The final completion handler. The type of this object must meet the requirements of ['CompletionHandler]. The implementation takes ownership of the handler by performing a decay-copy.\r  ]]\r  [[`ex1`][\r    
 The executor associated with the implied I/O object target of the operation. The implementation shall maintain an executor work guard for the lifetime of the operation, or until the final completion handler is invoked, whichever is shorter.\r  ]]\r  [[`alloc`][\r    
 The allocator to be associated with objects derived from this class. If `Allocator` is default-constructible, this parameter is optional and may be omitted. \r  ]]\r]\r
-[endsect]\r[section:overload2 async_base::async_base (2 of 2 overloads)]\r
-Move Constructor. \r[heading Synopsis]\r```\rasync_base(\r    async_base&& other);\r```\r\r[heading Description]\r[endsect]\r[endsect]\r\r[section:complete async_base::complete]\r[indexterm2 complete..async_base]\r
+[endsect]\r[section:overload2 async_base::async_base (2 of 3 overloads)]\r
+Move Constructor. \r[heading Synopsis]\r```\rasync_base(\r    async_base&& other);\r```\r\r[heading Description]\r[endsect]\r[section:overload3 async_base::async_base (3 of 3 overloads)]\r\r[heading Synopsis]\r```\rasync_base(\r    async_base const&);\r```\r\r[heading Description]\r[endsect]\r[endsect]\r\r[section:complete async_base::complete]\r[indexterm2 complete..async_base]\r
 Invoke the final completion handler, maybe using post. \r[heading Synopsis]\r```\rtemplate<\r    class... Args>\rvoid\rcomplete(\r    bool is_continuation,\r    Args&&... args);\r```\r\r[heading Description]\r
 This invokes the final completion handler with the specified arguments forwarded. It is undefined to call either of [link beast.ref.boost__beast__async_base.complete `async_base::complete`] or [link beast.ref.boost__beast__async_base.complete_now `async_base::complete_now`] more than once.
 Any temporary objects allocated with [link beast.ref.boost__beast__allocate_stable `allocate_stable`] will be automatically destroyed before the final completion handler is invoked.
@@ -138,10 +138,10 @@ Returns the allocator associated with this object. \r[heading Synopsis]\r```\ralloc
 If a class derived from [link beast.ref.boost__beast__async_base `async_base`] is a completion handler, then the object returned from this function will be used as the associated allocator of the derived class. [endsect]\r[section:get_executor async_base::get_executor]\r[indexterm2 get_executor..async_base]\r
 Returns the executor associated with this object. \r[heading Synopsis]\r```\rexecutor_type\rget_executor() const;\r```\r\r[heading Description]\r
 If a class derived from [link beast.ref.boost__beast__async_base `async_base`] is a completion handler, then the object returned from this function will be used as the associated executor of the derived class. [endsect]\r[section:handler async_base::handler]\r[indexterm2 handler..async_base]\r
-Returns the handler associated with this object. \r[heading Synopsis]\r```\rHandler const &\rhandler() const;\r```\r\r[heading Description]\r[endsect]\r[section:release_handler async_base::release_handler]\r[indexterm2 release_handler..async_base]\r
+Returns the handler associated with this object. \r[heading Synopsis]\r```\rHandler const &\rhandler() const;\r```\r\r[heading Description]\r[endsect]\r[section:operator_eq_ async_base::operator=]\r[indexterm2 operator=..async_base]\r\r[heading Synopsis]\r```\rasync_base&\roperator=(\r    async_base const&);\r```\r\r[heading Description]\r[endsect]\r[section:release_handler async_base::release_handler]\r[indexterm2 release_handler..async_base]\r
 Returns ownership of the handler associated with this object. \r[heading Synopsis]\r```\rHandler\rrelease_handler();\r```\r\r[heading Description]\r
-This function is used to transfer ownership of the handler to the caller, by move-construction. After the move, the only valid operations on the base object are move construction and destruction. [endsect]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__async_detect_ssl async_detect_ssl]\r[indexterm1 async_detect_ssl]\r
-Detect a TLS/SSL handshake asynchronously on a stream. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/detect_ssl.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    class __CompletionToken__>\r``__deduced__``\rasync_detect_ssl(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    CompletionToken&& token);\r\r```\r\r[heading Description]\r
+This function is used to transfer ownership of the handler to the caller, by move-construction. After the move, the only valid operations on the base object are move construction and destruction. [endsect]\r[section:async_base_dtor_ async_base::~async_base]\r[indexterm2 ~async_base..async_base]\r\r[heading Synopsis]\r```\rvirtual\r~async_base();\r```\r\r[heading Description]\r[endsect]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__async_detect_ssl async_detect_ssl]\r[indexterm1 async_detect_ssl]\r
+Detect a TLS/SSL handshake asynchronously on a stream. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/detect_ssl.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    class __CompletionToken__ = net::default_completion_token_t<beast::executor_type<AsyncReadStream>>>\r``__deduced__``\rasync_detect_ssl(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    CompletionToken&& token = net::default_completion_token_t< beast::executor_type< AsyncReadStream >>{});\r\r```\r\r[heading Description]\r
 This function reads asynchronously from a stream to determine if a client handshake message is being received.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -554,7 +554,7 @@ Strong guarantee. [endsect]\r[section:size basic_multi_buffer::size]\r[indexterm2
 Returns the number of readable bytes. \r[heading Synopsis]\r```\rsize_type\rsize() const;\r```\r\r[heading Description]\r[endsect]\r[section:swap basic_multi_buffer::swap]\r[indexterm2 swap..basic_multi_buffer]\r
 Exchange two dynamic buffers. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/multi_buffer.hpp]\r\r\r```\rtemplate<\r    class Alloc>\rfriend void\rswap(\r    basic_multi_buffer< Alloc >& lhs,\r    basic_multi_buffer< Alloc >& rhs);\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:basic_multi_buffer_dtor_ basic_multi_buffer::~basic_multi_buffer]\r[indexterm2 ~basic_multi_buffer..basic_multi_buffer]\r
 Destructor. \r[heading Synopsis]\r```\r~basic_multi_buffer();\r```\r\r[heading Description]\r[endsect]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__basic_multi_buffer__element basic_multi_buffer::element]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/multi_buffer.hpp]\r\r\r\r```\rclass element :\r    public boost::intrusive::list_base_hook< boost::intrusive::link_mode< boost::intrusive::normal_link > >\r```\r[heading Member Functions]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_multi_buffer__element.data [*data]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_multi_buffer__element.element [*element]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_multi_buffer__element.size [*size]]]\r    [\r      \r    ]\r  ]\r]\r\r[heading Description]\r[section:data basic_multi_buffer::element::data]\r[indexterm2 data..basic_multi_buffer::element]\r\r[heading Synopsis]\r```\rchar*\rdata() const;\r```\r\r[heading Description]\r[endsect]\r[section:element basic_multi_buffer::element::element]\r[indexterm2 element..basic_multi_buffer::element]\r```\r``[link beast.ref.boost__beast__basic_multi_buffer__element.element.overload1 element]``(\r    element const&);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_multi_buffer__element.element.overload1 more...]]``\r\rexplicit\r``[link beast.ref.boost__beast__basic_multi_buffer__element.element.overload2 element]``(\r    size_type n);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_multi_buffer__element.element.overload2 more...]]``\r```\r[section:overload1 basic_multi_buffer::element::element (1 of 2 overloads)]\r\r[heading Synopsis]\r```\relement(\r    element const&);\r```\r\r[heading Description]\r[endsect]\r[section:overload2 basic_multi_buffer::element::element (2 of 2 overloads)]\r\r[heading Synopsis]\r```\relement(\r    size_type n);\r```\r\r[heading Description]\r[endsect]\r[endsect]\r\r[section:size basic_multi_buffer::element::size]\r[indexterm2 size..basic_multi_buffer::element]\r\r[heading Synopsis]\r```\rsize_type\rsize() const;\r```\r\r[heading Description]\r[endsect]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__basic_multi_buffer__readable_bytes basic_multi_buffer::readable_bytes]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/multi_buffer.hpp]\r\r\r\r```\rtemplate<\r    [role red error.class-detail-template.1][role red error.class-detail-template.2]>\rclass readable_bytes\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__basic_stream basic_stream]\r
-A stream socket wrapper with timeouts, an executor, and a rate limit policy. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/basic_stream.hpp]\r\r\r\r```\rtemplate<\r    class __Protocol__,\r    class __Executor__ = net::executor,\r    class __RatePolicy__ = unlimited_rate_policy>\rclass basic_stream\r```\r[heading Types]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream.endpoint_type [*endpoint_type]]]\r    [\r      The endpoint type. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.executor_type [*executor_type]]]\r    [\r      The type of the executor associated with the stream. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.protocol_type [*protocol_type]]]\r    [\r      The protocol type. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.socket_type [*socket_type]]]\r    [\r      The type of the underlying socket. \r    ]\r  ]\r]\r[heading Member Functions]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_connect [*async_connect]]]\r    [\r      Connect the stream to the specified endpoint asynchronously. \r\r      Establishes a connection by trying each endpoint in a sequence asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_read_some [*async_read_some]]]\r    [\r      Read some data asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_write_some [*async_write_some]]]\r    [\r      Write some data asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.basic_stream [*basic_stream]]]\r    [\r      Constructor. \r\r      Move constructor. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.cancel [*cancel]]]\r    [\r      Cancel all asynchronous operations associated with the socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.close [*close]]]\r    [\r      Close the timed stream. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.connect [*connect]]]\r    [\r      Connect the stream to the specified endpoint. \r\r      Establishes a connection by trying each endpoint in a sequence. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_after [*expires_after]]]\r    [\r      Set the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_at [*expires_at]]]\r    [\r      Set the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_never [*expires_never]]]\r    [\r      Disable the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.get_executor [*get_executor]]]\r    [\r      Get the executor associated with the object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.operator_eq_ [*operator=]]]\r    [\r      Move assignment (deleted). \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.rate_policy [*rate_policy]]]\r    [\r      Returns the rate policy associated with the object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.read_some [*read_some]]]\r    [\r      Read some data. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.release_socket [*release_socket]]]\r    [\r      Release ownership of the underlying socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.socket [*socket]]]\r    [\r      Return a reference to the underlying socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.write_some [*write_some]]]\r    [\r      Write some data. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.basic_stream_dtor_ [*~basic_stream]]]\r    [\r      Destructor. \r    ]\r  ]\r]\r\r[heading Description]\r
+A stream socket wrapper with timeouts, an executor, and a rate limit policy. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/basic_stream.hpp]\r\r\r\r```\rtemplate<\r    class __Protocol__,\r    class __Executor__ = net::executor,\r    class __RatePolicy__ = unlimited_rate_policy>\rclass basic_stream\r```\r[heading Types]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream__rebind_executor [*rebind_executor]]]\r    [\r      Rebinds the stream type to another executor. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.endpoint_type [*endpoint_type]]]\r    [\r      The endpoint type. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.executor_type [*executor_type]]]\r    [\r      The type of the executor associated with the stream. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.protocol_type [*protocol_type]]]\r    [\r      The protocol type. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.socket_type [*socket_type]]]\r    [\r      The type of the underlying socket. \r    ]\r  ]\r]\r[heading Member Functions]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_connect [*async_connect]]]\r    [\r      Connect the stream to the specified endpoint asynchronously. \r\r      Establishes a connection by trying each endpoint in a sequence asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_read_some [*async_read_some]]]\r    [\r      Read some data asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_write_some [*async_write_some]]]\r    [\r      Write some data asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.basic_stream [*basic_stream]]]\r    [\r      Constructor. \r\r      Move constructor. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.cancel [*cancel]]]\r    [\r      Cancel all asynchronous operations associated with the socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.close [*close]]]\r    [\r      Close the timed stream. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.connect [*connect]]]\r    [\r      Connect the stream to the specified endpoint. \r\r      Establishes a connection by trying each endpoint in a sequence. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_after [*expires_after]]]\r    [\r      Set the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_at [*expires_at]]]\r    [\r      Set the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_never [*expires_never]]]\r    [\r      Disable the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.get_executor [*get_executor]]]\r    [\r      Get the executor associated with the object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.operator_eq_ [*operator=]]]\r    [\r      Move assignment (deleted). \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.rate_policy [*rate_policy]]]\r    [\r      Returns the rate policy associated with the object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.read_some [*read_some]]]\r    [\r      Read some data. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.release_socket [*release_socket]]]\r    [\r      Release ownership of the underlying socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.socket [*socket]]]\r    [\r      Return a reference to the underlying socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.write_some [*write_some]]]\r    [\r      Write some data. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.basic_stream_dtor_ [*~basic_stream]]]\r    [\r      Destructor. \r    ]\r  ]\r]\r\r[heading Description]\r
 This stream wraps a `net::basic_stream_socket` to provide the following features:
 
 * An ['Executor] may be associated with the stream, which will be used to invoke any completion handlers which do not already have an associated executor. This achieves support for [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html [P1322R0] Networking TS enhancement to enable custom I/O executors].
@@ -635,9 +635,9 @@ A type meeting the requirements of ['Executor] to be used for submitting all com
 * [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html [P1322R0] Networking TS enhancement to enable custom I/O executors]. 
 
 [section:async_connect basic_stream::async_connect]\r[indexterm2 async_connect..basic_stream]\r
-Connect the stream to the specified endpoint asynchronously. ```\rtemplate<\r    class __ConnectHandler__>\r``__deduced__``\r``[link beast.ref.boost__beast__basic_stream.async_connect.overload1 async_connect]``(\r    endpoint_type const& ep,\r    ConnectHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream.async_connect.overload1 more...]]``\r\r```\r
-Establishes a connection by trying each endpoint in a sequence asynchronously. ```\rtemplate<\r    class __EndpointSequence__,\r    class __RangeConnectHandler__>\r``__deduced__``\r``[link beast.ref.boost__beast__basic_stream.async_connect.overload2 async_connect]``(\r    EndpointSequence const& endpoints,\r    RangeConnectHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream.async_connect.overload2 more...]]``\r\rtemplate<\r    class __EndpointSequence__,\r    class __ConnectCondition__,\r    class __RangeConnectHandler__>\r``__deduced__``\r``[link beast.ref.boost__beast__basic_stream.async_connect.overload3 async_connect]``(\r    EndpointSequence const& endpoints,\r    ConnectCondition connect_condition,\r    RangeConnectHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream.async_connect.overload3 more...]]``\r\rtemplate<\r    class Iterator,\r    class __IteratorConnectHandler__>\r``__deduced__``\r``[link beast.ref.boost__beast__basic_stream.async_connect.overload4 async_connect]``(\r    Iterator begin,\r    Iterator end,\r    IteratorConnectHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream.async_connect.overload4 more...]]``\r\rtemplate<\r    class Iterator,\r    class __ConnectCondition__,\r    class __IteratorConnectHandler__>\r``__deduced__``\r``[link beast.ref.boost__beast__basic_stream.async_connect.overload5 async_connect]``(\r    Iterator begin,\r    Iterator end,\r    ConnectCondition connect_condition,\r    IteratorConnectHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream.async_connect.overload5 more...]]``\r```\r[section:overload1 basic_stream::async_connect (1 of 5 overloads)]\r
-Connect the stream to the specified endpoint asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __ConnectHandler__>\r``__deduced__``\rasync_connect(\r    endpoint_type const& ep,\r    ConnectHandler&& handler);\r```\r\r[heading Description]\r
+Connect the stream to the specified endpoint asynchronously. ```\rtemplate<\r    class __ConnectHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\r``[link beast.ref.boost__beast__basic_stream.async_connect.overload1 async_connect]``(\r    endpoint_type const& ep,\r    ConnectHandler&& handler = net::default_completion_token_t< executor_type >{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream.async_connect.overload1 more...]]``\r\r```\r
+Establishes a connection by trying each endpoint in a sequence asynchronously. ```\rtemplate<\r    class __EndpointSequence__,\r    class __RangeConnectHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\r``[link beast.ref.boost__beast__basic_stream.async_connect.overload2 async_connect]``(\r    EndpointSequence const& endpoints,\r    RangeConnectHandler&& handler = net::default_completion_token_t< executor_type >{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream.async_connect.overload2 more...]]``\r\rtemplate<\r    class __EndpointSequence__,\r    class __ConnectCondition__,\r    class __RangeConnectHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\r``[link beast.ref.boost__beast__basic_stream.async_connect.overload3 async_connect]``(\r    EndpointSequence const& endpoints,\r    ConnectCondition connect_condition,\r    RangeConnectHandler&& handler = net::default_completion_token_t< executor_type >{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream.async_connect.overload3 more...]]``\r\rtemplate<\r    class Iterator,\r    class __IteratorConnectHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\r``[link beast.ref.boost__beast__basic_stream.async_connect.overload4 async_connect]``(\r    Iterator begin,\r    Iterator end,\r    IteratorConnectHandler&& handler = net::default_completion_token_t< executor_type >{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream.async_connect.overload4 more...]]``\r\rtemplate<\r    class Iterator,\r    class __ConnectCondition__,\r    class __IteratorConnectHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\r``[link beast.ref.boost__beast__basic_stream.async_connect.overload5 async_connect]``(\r    Iterator begin,\r    Iterator end,\r    ConnectCondition connect_condition,\r    IteratorConnectHandler&& handler = net::default_completion_token_t< executor_type >{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream.async_connect.overload5 more...]]``\r```\r[section:overload1 basic_stream::async_connect (1 of 5 overloads)]\r
+Connect the stream to the specified endpoint asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __ConnectHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_connect(\r    endpoint_type const& ep,\r    ConnectHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously connect the underlying socket to the specified remote endpoint. The function call always returns immediately. The underlying socket is automatically opened if needed. An automatically opened socket is not returned to the closed state upon failure.
 If the timeout timer expires while the operation is outstanding, the operation will be canceled and the completion handler will be invoked with the error [link beast.ref.boost__beast__error `timeout`].
 [heading Parameters]\r[table [[Name][Description]]\r  [[`ep`][\r    
@@ -649,7 +649,7 @@ The completion handler to invoke when the operation completes. The implementatio
 [heading See Also]\r
 [link beast.ref.boost__beast__basic_stream.async_connect `basic_stream::async_connect`] 
 [endsect]\r[section:overload2 basic_stream::async_connect (2 of 5 overloads)]\r
-Establishes a connection by trying each endpoint in a sequence asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __EndpointSequence__,\r    class __RangeConnectHandler__>\r``__deduced__``\rasync_connect(\r    EndpointSequence const& endpoints,\r    RangeConnectHandler&& handler);\r```\r\r[heading Description]\r
+Establishes a connection by trying each endpoint in a sequence asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __EndpointSequence__,\r    class __RangeConnectHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_connect(\r    EndpointSequence const& endpoints,\r    RangeConnectHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function attempts to connect the stream to one of a sequence of endpoints by trying each endpoint until a connection is successfully established. The underlying socket is automatically opened if needed. An automatically opened socket is not returned to the closed state upon failure.
 The algorithm, known as a ['composed asynchronous operation], is implemented in terms of calls to the underlying socket's `async_connect` function.
 If the timeout timer expires while the operation is outstanding, the current connection attempt will be canceled and the completion handler will be invoked with the error [link beast.ref.boost__beast__error `timeout`].
@@ -667,7 +667,7 @@ The completion handler to invoke when the operation completes. The implementatio
   );
 ```\rRegardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using `net::post`. \r  ]]\r]\r
 [endsect]\r[section:overload3 basic_stream::async_connect (3 of 5 overloads)]\r
-Establishes a connection by trying each endpoint in a sequence asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __EndpointSequence__,\r    class __ConnectCondition__,\r    class __RangeConnectHandler__>\r``__deduced__``\rasync_connect(\r    EndpointSequence const& endpoints,\r    ConnectCondition connect_condition,\r    RangeConnectHandler&& handler);\r```\r\r[heading Description]\r
+Establishes a connection by trying each endpoint in a sequence asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __EndpointSequence__,\r    class __ConnectCondition__,\r    class __RangeConnectHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_connect(\r    EndpointSequence const& endpoints,\r    ConnectCondition connect_condition,\r    RangeConnectHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function attempts to connect the stream to one of a sequence of endpoints by trying each endpoint until a connection is successfully established. The underlying socket is automatically opened if needed. An automatically opened socket is not returned to the closed state upon failure.
 The algorithm, known as a ['composed asynchronous operation], is implemented in terms of calls to the underlying socket's `async_connect` function.
 If the timeout timer expires while the operation is outstanding, the current connection attempt will be canceled and the completion handler will be invoked with the error [link beast.ref.boost__beast__error `timeout`].
@@ -703,7 +703,7 @@ The following connect condition function object can be used to output informatio
   };
 ```\r
 [endsect]\r[section:overload4 basic_stream::async_connect (4 of 5 overloads)]\r
-Establishes a connection by trying each endpoint in a sequence asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class Iterator,\r    class __IteratorConnectHandler__>\r``__deduced__``\rasync_connect(\r    Iterator begin,\r    Iterator end,\r    IteratorConnectHandler&& handler);\r```\r\r[heading Description]\r
+Establishes a connection by trying each endpoint in a sequence asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class Iterator,\r    class __IteratorConnectHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_connect(\r    Iterator begin,\r    Iterator end,\r    IteratorConnectHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function attempts to connect the stream to one of a sequence of endpoints by trying each endpoint until a connection is successfully established. The underlying socket is automatically opened if needed. An automatically opened socket is not returned to the closed state upon failure.
 The algorithm, known as a ['composed asynchronous operation], is implemented in terms of calls to the underlying socket's `async_connect` function.
 If the timeout timer expires while the operation is outstanding, the current connection attempt will be canceled and the completion handler will be invoked with the error [link beast.ref.boost__beast__error `timeout`].
@@ -722,7 +722,7 @@ The completion handler to invoke when the operation completes. The implementatio
   );
 ```\rRegardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using `net::post`. \r  ]]\r]\r
 [endsect]\r[section:overload5 basic_stream::async_connect (5 of 5 overloads)]\r
-Establishes a connection by trying each endpoint in a sequence asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class Iterator,\r    class __ConnectCondition__,\r    class __IteratorConnectHandler__>\r``__deduced__``\rasync_connect(\r    Iterator begin,\r    Iterator end,\r    ConnectCondition connect_condition,\r    IteratorConnectHandler&& handler);\r```\r\r[heading Description]\r
+Establishes a connection by trying each endpoint in a sequence asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class Iterator,\r    class __ConnectCondition__,\r    class __IteratorConnectHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_connect(\r    Iterator begin,\r    Iterator end,\r    ConnectCondition connect_condition,\r    IteratorConnectHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function attempts to connect the stream to one of a sequence of endpoints by trying each endpoint until a connection is successfully established. The algorithm, known as a ['composed asynchronous operation], is implemented in terms of calls to the underlying socket's `async_connect` function.
 If the timeout timer expires while the operation is outstanding, the current connection attempt will be canceled and the completion handler will be invoked with the error [link beast.ref.boost__beast__error `timeout`].
 [heading Parameters]\r[table [[Name][Description]]\r  [[`begin`][\r    
@@ -744,7 +744,7 @@ The completion handler to invoke when the operation completes. The implementatio
   );
 ```\rRegardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using `net::post`. \r  ]]\r]\r
 [endsect]\r[endsect]\r\r[section:async_read_some basic_stream::async_read_some]\r[indexterm2 async_read_some..basic_stream]\r
-Read some data asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __MutableBufferSequence__,\r    class __ReadHandler__>\r``__deduced__``\rasync_read_some(\r    MutableBufferSequence const& buffers,\r    ReadHandler&& handler);\r```\r\r[heading Description]\r
+Read some data asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __MutableBufferSequence__,\r    class __ReadHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_read_some(\r    MutableBufferSequence const& buffers,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously read data from the stream.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -765,7 +765,7 @@ The completion handler to invoke when the operation completes. The implementatio
 [heading Remarks]\r
 The `async_read_some` operation may not receive all of the requested number of bytes. Consider using the function `net::async_read` if you need to ensure that the requested amount of data is read before the asynchronous operation completes. 
 [endsect]\r[section:async_write_some basic_stream::async_write_some]\r[indexterm2 async_write_some..basic_stream]\r
-Write some data asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class __WriteHandler__>\r``__deduced__``\rasync_write_some(\r    ConstBufferSequence const& buffers,\r    WriteHandler&& handler);\r```\r\r[heading Description]\r
+Write some data asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class __WriteHandler__ = net::default_completion_token_t<Executor>>\r``__deduced__``\rasync_write_some(\r    ConstBufferSequence const& buffers,\r    WriteHandler&& handler = net::default_completion_token_t< Executor >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously write data to the underlying socket.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -1031,7 +1031,89 @@ Thrown on failure.\r  ]]\r]
 The `write_some` operation may not transmit all of the requested number of bytes. Consider using the function `net::write` if you need to ensure that the requested amount of data is written before the blocking operation completes. 
 [endsect]\r[endsect]\r\r[section:basic_stream_dtor_ basic_stream::~basic_stream]\r[indexterm2 ~basic_stream..basic_stream]\r
 Destructor. \r[heading Synopsis]\r```\r~basic_stream();\r```\r\r[heading Description]\r
-This function destroys the stream, cancelling any outstanding asynchronous operations associated with the socket as if by calling cancel. [endsect]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__basic_stream__impl_type basic_stream::impl_type]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/basic_stream.hpp]\r\r\r\r```\rstruct impl_type :\r    public boost::enable_shared_from_this< impl_type >,\r    public boost::empty_value< RatePolicy >\r```\r[heading Member Functions]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.close [*close]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.ex [*ex]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.impl_type [*impl_type]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.on_timer [*on_timer]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.operator_eq_ [*operator=]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.policy [*policy]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.reset [*reset]]]\r    [\r      \r    ]\r  ]\r]\r[heading Data Members]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.read [*read]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.socket [*socket]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.timer [*timer]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.waiting [*waiting]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.write [*write]]]\r    [\r      \r    ]\r  ]\r]\r\r[heading Description]\r[section:close basic_stream::impl_type::close]\r[indexterm2 close..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rvoid\rclose();\r```\r\r[heading Description]\r[endsect]\r[section:ex basic_stream::impl_type::ex]\r[indexterm2 ex..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rbeast::executor_type< socket_type >\rex();\r```\r\r[heading Description]\r[endsect]\r[section:impl_type basic_stream::impl_type::impl_type]\r[indexterm2 impl_type..basic_stream::impl_type]\r```\r``[link beast.ref.boost__beast__basic_stream__impl_type.impl_type.overload1 impl_type]``(\r    impl_type&&);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream__impl_type.impl_type.overload1 more...]]``\r\rtemplate<\r    class... Args>\rexplicit\r``[link beast.ref.boost__beast__basic_stream__impl_type.impl_type.overload2 impl_type]``(\r    std::false_type,\r    Args&& ...);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream__impl_type.impl_type.overload2 more...]]``\r\rtemplate<\r    class RatePolicy_,\r    class... Args>\rexplicit\r``[link beast.ref.boost__beast__basic_stream__impl_type.impl_type.overload3 impl_type]``(\r    std::true_type,\r    RatePolicy_&& policy,\r    Args&& ...);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream__impl_type.impl_type.overload3 more...]]``\r```\r[section:overload1 basic_stream::impl_type::impl_type (1 of 3 overloads)]\r\r[heading Synopsis]\r```\rimpl_type(\r    impl_type&&);\r```\r\r[heading Description]\r[endsect]\r[section:overload2 basic_stream::impl_type::impl_type (2 of 3 overloads)]\r\r[heading Synopsis]\r```\rtemplate<\r    class... Args>\rimpl_type(\r    std::false_type,\r    Args&& ...);\r```\r\r[heading Description]\r[endsect]\r[section:overload3 basic_stream::impl_type::impl_type (3 of 3 overloads)]\r\r[heading Synopsis]\r```\rtemplate<\r    class RatePolicy_,\r    class... Args>\rimpl_type(\r    std::true_type,\r    RatePolicy_&& policy,\r    Args&& ...);\r```\r\r[heading Description]\r[endsect]\r[endsect]\r\r[section:on_timer basic_stream::impl_type::on_timer]\r[indexterm2 on_timer..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rtemplate<\r    class __Executor2__>\rvoid\ron_timer(\r    Executor2 const& ex2);\r```\r\r[heading Description]\r[endsect]\r[section:operator_eq_ basic_stream::impl_type::operator=]\r[indexterm2 operator=..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rimpl_type&\roperator=(\r    impl_type&&);\r```\r\r[heading Description]\r[endsect]\r[section:policy basic_stream::impl_type::policy]\r[indexterm2 policy..basic_stream::impl_type]\r```\rRatePolicy&\r``[link beast.ref.boost__beast__basic_stream__impl_type.policy.overload1 policy]``();\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream__impl_type.policy.overload1 more...]]``\r\rRatePolicy const &\r``[link beast.ref.boost__beast__basic_stream__impl_type.policy.overload2 policy]``() const;\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream__impl_type.policy.overload2 more...]]``\r```\r[section:overload1 basic_stream::impl_type::policy (1 of 2 overloads)]\r\r[heading Synopsis]\r```\rRatePolicy&\rpolicy();\r```\r\r[heading Description]\r[endsect]\r[section:overload2 basic_stream::impl_type::policy (2 of 2 overloads)]\r\r[heading Synopsis]\r```\rRatePolicy const &\rpolicy() const;\r```\r\r[heading Description]\r[endsect]\r[endsect]\r\r[section:read basic_stream::impl_type::read]\r[indexterm2 read..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rop_state read;\r```\r\r[heading Description]\r[endsect]\r[section:reset basic_stream::impl_type::reset]\r[indexterm2 reset..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rvoid\rreset();\r```\r\r[heading Description]\r[endsect]\r[section:socket basic_stream::impl_type::socket]\r[indexterm2 socket..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rnet::basic_stream_socket< Protocol, Executor > socket;\r```\r\r[heading Description]\r[endsect]\r[section:timer basic_stream::impl_type::timer]\r[indexterm2 timer..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rnet::steady_timer timer;\r```\r\r[heading Description]\r[endsect]\r[section:waiting basic_stream::impl_type::waiting]\r[indexterm2 waiting..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rint waiting = 0;\r```\r\r[heading Description]\r[endsect]\r[section:write basic_stream::impl_type::write]\r[indexterm2 write..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rop_state write;\r```\r\r[heading Description]\r[endsect]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__basic_stream__timeout_handler basic_stream::timeout_handler]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/basic_stream.hpp]\r\r\r\r```\rtemplate<\r    class __Executor2__>\rstruct timeout_handler\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__basic_string_view basic_string_view]\r[indexterm1 basic_string_view]\r
+This function destroys the stream, cancelling any outstanding asynchronous operations associated with the socket as if by calling cancel. [endsect]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__basic_stream__impl_type basic_stream::impl_type]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/basic_stream.hpp]\r\r\r\r```\rstruct impl_type :\r    public boost::enable_shared_from_this< impl_type >,\r    public boost::empty_value< RatePolicy >\r```\r[heading Member Functions]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.close [*close]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.ex [*ex]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.impl_type [*impl_type]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.on_timer [*on_timer]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.operator_eq_ [*operator=]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.policy [*policy]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.reset [*reset]]]\r    [\r      \r    ]\r  ]\r]\r[heading Data Members]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.read [*read]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.socket [*socket]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.timer [*timer]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.waiting [*waiting]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream__impl_type.write [*write]]]\r    [\r      \r    ]\r  ]\r]\r\r[heading Description]\r[section:close basic_stream::impl_type::close]\r[indexterm2 close..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rvoid\rclose();\r```\r\r[heading Description]\r[endsect]\r[section:ex basic_stream::impl_type::ex]\r[indexterm2 ex..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rbeast::executor_type< socket_type >\rex();\r```\r\r[heading Description]\r[endsect]\r[section:impl_type basic_stream::impl_type::impl_type]\r[indexterm2 impl_type..basic_stream::impl_type]\r```\r``[link beast.ref.boost__beast__basic_stream__impl_type.impl_type.overload1 impl_type]``(\r    impl_type&&);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream__impl_type.impl_type.overload1 more...]]``\r\rtemplate<\r    class... Args>\rexplicit\r``[link beast.ref.boost__beast__basic_stream__impl_type.impl_type.overload2 impl_type]``(\r    std::false_type,\r    Args&& ...);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream__impl_type.impl_type.overload2 more...]]``\r\rtemplate<\r    class RatePolicy_,\r    class... Args>\rexplicit\r``[link beast.ref.boost__beast__basic_stream__impl_type.impl_type.overload3 impl_type]``(\r    std::true_type,\r    RatePolicy_&& policy,\r    Args&& ...);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream__impl_type.impl_type.overload3 more...]]``\r```\r[section:overload1 basic_stream::impl_type::impl_type (1 of 3 overloads)]\r\r[heading Synopsis]\r```\rimpl_type(\r    impl_type&&);\r```\r\r[heading Description]\r[endsect]\r[section:overload2 basic_stream::impl_type::impl_type (2 of 3 overloads)]\r\r[heading Synopsis]\r```\rtemplate<\r    class... Args>\rimpl_type(\r    std::false_type,\r    Args&& ...);\r```\r\r[heading Description]\r[endsect]\r[section:overload3 basic_stream::impl_type::impl_type (3 of 3 overloads)]\r\r[heading Synopsis]\r```\rtemplate<\r    class RatePolicy_,\r    class... Args>\rimpl_type(\r    std::true_type,\r    RatePolicy_&& policy,\r    Args&& ...);\r```\r\r[heading Description]\r[endsect]\r[endsect]\r\r[section:on_timer basic_stream::impl_type::on_timer]\r[indexterm2 on_timer..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rtemplate<\r    class __Executor2__>\rvoid\ron_timer(\r    Executor2 const& ex2);\r```\r\r[heading Description]\r[endsect]\r[section:operator_eq_ basic_stream::impl_type::operator=]\r[indexterm2 operator=..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rimpl_type&\roperator=(\r    impl_type&&);\r```\r\r[heading Description]\r[endsect]\r[section:policy basic_stream::impl_type::policy]\r[indexterm2 policy..basic_stream::impl_type]\r```\rRatePolicy&\r``[link beast.ref.boost__beast__basic_stream__impl_type.policy.overload1 policy]``();\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream__impl_type.policy.overload1 more...]]``\r\rRatePolicy const &\r``[link beast.ref.boost__beast__basic_stream__impl_type.policy.overload2 policy]``() const;\r  ``[''''&raquo;''' [link beast.ref.boost__beast__basic_stream__impl_type.policy.overload2 more...]]``\r```\r[section:overload1 basic_stream::impl_type::policy (1 of 2 overloads)]\r\r[heading Synopsis]\r```\rRatePolicy&\rpolicy();\r```\r\r[heading Description]\r[endsect]\r[section:overload2 basic_stream::impl_type::policy (2 of 2 overloads)]\r\r[heading Synopsis]\r```\rRatePolicy const &\rpolicy() const;\r```\r\r[heading Description]\r[endsect]\r[endsect]\r\r[section:read basic_stream::impl_type::read]\r[indexterm2 read..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rop_state read;\r```\r\r[heading Description]\r[endsect]\r[section:reset basic_stream::impl_type::reset]\r[indexterm2 reset..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rvoid\rreset();\r```\r\r[heading Description]\r[endsect]\r[section:socket basic_stream::impl_type::socket]\r[indexterm2 socket..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rnet::basic_stream_socket< Protocol, Executor > socket;\r```\r\r[heading Description]\r[endsect]\r[section:timer basic_stream::impl_type::timer]\r[indexterm2 timer..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rnet::steady_timer timer;\r```\r\r[heading Description]\r[endsect]\r[section:waiting basic_stream::impl_type::waiting]\r[indexterm2 waiting..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rint waiting = 0;\r```\r\r[heading Description]\r[endsect]\r[section:write basic_stream::impl_type::write]\r[indexterm2 write..basic_stream::impl_type]\r\r[heading Synopsis]\r```\rop_state write;\r```\r\r[heading Description]\r[endsect]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__basic_stream__rebind_executor basic_stream::rebind_executor]\r
+Rebinds the stream type to another executor. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/basic_stream.hpp]\r\r\r\r```\rtemplate<\r    class __Executor1__>\rstruct rebind_executor\r```\r[heading Types]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream__rebind_executor.other [*other]]]\r    [\r      The stream type when rebound to the specified executor. \r    ]\r  ]\r]\r\r[heading Description]\r[section:other basic_stream::rebind_executor::other]\r[indexterm2 other..basic_stream::rebind_executor]\r
+The stream type when rebound to the specified executor. \r[heading Synopsis]\r\r```\rusing other = basic_stream< Protocol, Executor1, RatePolicy >;\r```\r[heading Types]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream__rebind_executor [*rebind_executor]]]\r    [\r      Rebinds the stream type to another executor. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.endpoint_type [*endpoint_type]]]\r    [\r      The endpoint type. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.executor_type [*executor_type]]]\r    [\r      The type of the executor associated with the stream. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.protocol_type [*protocol_type]]]\r    [\r      The protocol type. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.socket_type [*socket_type]]]\r    [\r      The type of the underlying socket. \r    ]\r  ]\r]\r[heading Member Functions]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_connect [*async_connect]]]\r    [\r      Connect the stream to the specified endpoint asynchronously. \r\r      Establishes a connection by trying each endpoint in a sequence asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_read_some [*async_read_some]]]\r    [\r      Read some data asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_write_some [*async_write_some]]]\r    [\r      Write some data asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.basic_stream [*basic_stream]]]\r    [\r      Constructor. \r\r      Move constructor. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.cancel [*cancel]]]\r    [\r      Cancel all asynchronous operations associated with the socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.close [*close]]]\r    [\r      Close the timed stream. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.connect [*connect]]]\r    [\r      Connect the stream to the specified endpoint. \r\r      Establishes a connection by trying each endpoint in a sequence. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_after [*expires_after]]]\r    [\r      Set the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_at [*expires_at]]]\r    [\r      Set the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_never [*expires_never]]]\r    [\r      Disable the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.get_executor [*get_executor]]]\r    [\r      Get the executor associated with the object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.operator_eq_ [*operator=]]]\r    [\r      Move assignment (deleted). \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.rate_policy [*rate_policy]]]\r    [\r      Returns the rate policy associated with the object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.read_some [*read_some]]]\r    [\r      Read some data. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.release_socket [*release_socket]]]\r    [\r      Release ownership of the underlying socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.socket [*socket]]]\r    [\r      Return a reference to the underlying socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.write_some [*write_some]]]\r    [\r      Write some data. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.basic_stream_dtor_ [*~basic_stream]]]\r    [\r      Destructor. \r    ]\r  ]\r]\r
+This stream wraps a `net::basic_stream_socket` to provide the following features:
+
+* An ['Executor] may be associated with the stream, which will be used to invoke any completion handlers which do not already have an associated executor. This achieves support for [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html [P1322R0] Networking TS enhancement to enable custom I/O executors].
+
+
+* Timeouts may be specified for each logical asynchronous operation performing any reading, writing, or connecting.
+
+
+* A ['RatePolicy] may be associated with the stream, to implement rate limiting through the policy's interface.
+
+Although the stream supports multiple concurrent outstanding asynchronous operations, the stream object is not thread-safe. The caller is responsible for ensuring that the stream is accessed from only one thread at a time. This includes the times when the stream, and its underlying socket, are accessed by the networking implementation. To meet this thread safety requirement, all asynchronous operations must be performed by the stream within the same implicit strand (only one thread `net::io_context::run`) or within the same explicit strand, such as an instance of `net::strand`.
+Completion handlers with explicit associated executors (such as those arising from use of `net::bind_executor`) will be invoked by the stream using the associated executor. Otherwise, the completion handler will be invoked by the executor associated with the stream upon construction. The type of executor used with this stream must meet the following requirements:
+
+* Function objects submitted to the executor shall never run concurrently with each other.
+
+The executor type `net::strand` meets these requirements. Use of a strand as the executor in the stream class template offers an additional notational convenience: the strand does not need to be specified in each individual initiating function call.
+Unlike other stream wrappers, the underlying socket is accessed through the [link beast.ref.boost__beast__basic_stream.socket `basic_stream::socket`] member function instead of `next_layer`. This causes the [link beast.ref.boost__beast__basic_stream `basic_stream`] to be returned in calls to [link beast.ref.boost__beast__get_lowest_layer `get_lowest_layer`].
+[heading Usage]
+
+To use this stream declare an instance of the class. Then, before each logical operation for which a timeout is desired, call [link beast.ref.boost__beast__basic_stream.expires_after `basic_stream::expires_after`] with a duration, or call [link beast.ref.boost__beast__basic_stream.expires_at `basic_stream::expires_at`] with a time point. Alternatively, call [link beast.ref.boost__beast__basic_stream.expires_never `basic_stream::expires_never`] to disable the timeout for subsequent logical operations. A logical operation is any series of one or more direct or indirect calls to the timeout stream's asynchronous read, asynchronous write, or asynchronous connect functions.
+When a timeout is set and a mixed operation is performed (one that includes both reads and writes, for example) the timeout applies to all of the intermediate asynchronous operations used in the enclosing operation. This allows timeouts to be applied to stream algorithms which were not written specifically to allow for timeouts, when those algorithms are passed a timeout stream with a timeout set.
+When a timeout occurs the socket will be closed, canceling any pending I/O operations. The completion handlers for these canceled operations will be invoked with the error [link beast.ref.boost__beast__error `timeout`].
+[heading Examples]
+
+This function reads an HTTP request with a timeout, then sends the HTTP response with a different timeout.
+\r```\r  void process_http_1 (tcp_stream& stream, net::yield_context yield)
+  {
+      flat_buffer buffer;
+      http::request<http::empty_body> req;
+
+      // Read the request, with a 15 second timeout
+      stream.expires_after(std::chrono::seconds(15));
+      http::async_read(stream, buffer, req, yield);
+
+      // Calculate the response
+      http::response<http::string_body> res = make_response(req);
+
+      // Send the response, with a 30 second timeout.
+      stream.expires_after (std::chrono::seconds(30));
+      http::async_write (stream, res, yield);
+  }
+```\r
+The example above could be expressed using a single timeout with a simple modification. The function that follows first reads an HTTP request then sends the HTTP response, with a single timeout that applies to the entire combined operation of reading and writing:
+\r```\r  void process_http_2 (tcp_stream& stream, net::yield_context yield)
+  {
+      flat_buffer buffer;
+      http::request<http::empty_body> req;
+
+      // Require that the read and write combined take no longer than 30 seconds
+      stream.expires_after(std::chrono::seconds(30));
+
+      http::async_read(stream, buffer, req, yield);
+
+      http::response<http::string_body> res = make_response(req);
+      http::async_write (stream, res, yield);
+  }
+```\r
+Some stream algorithms, such as `ssl::stream::async_handshake` perform both reads and writes. A timeout set before calling the initiating function of such composite stream algorithms will apply to the entire composite operation. For example, a timeout may be set on performing the SSL handshake thusly:
+\r```\r  void do_ssl_handshake (net::ssl::stream<tcp_stream>& stream, net::yield_context yield)
+  {
+      // Require that the SSL handshake take no longer than 10 seconds
+      stream.expires_after(std::chrono::seconds(10));
+
+      stream.async_handshake(net::ssl::stream_base::client, yield);
+  }
+```\r
+[heading Blocking I/O]
+
+Synchronous functions behave identically as that of the wrapped `net::basic_stream_socket`. Timeouts are not available when performing blocking calls.
+[heading Template Parameters]\r[table [[Type][Description]]\r  [[`Protocol`][\r    
+A type meeting the requirements of ['Protocol] representing the protocol the protocol to use for the basic stream socket. A common choice is `net::ip::tcp`.\r  ]]\r  [[`Executor`][\r    
+A type meeting the requirements of ['Executor] to be used for submitting all completion handlers which do not already have an associated executor. If this type is omitted, the default of `net::executor` will be used.\r  ]]\r]\r
+[heading Thread Safety]
+['Distinct objects]: Safe.\r\r['Shared objects]: Unsafe. The application must also ensure that all asynchronous operations are performed within the same implicit or explicit strand.
+[heading See Also]\r
+
+
+* [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html [P1322R0] Networking TS enhancement to enable custom I/O executors]. 
+
+\r[heading Description]\r[endsect]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__basic_stream__timeout_handler basic_stream::timeout_handler]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/basic_stream.hpp]\r\r\r\r```\rtemplate<\r    class __Executor2__>\rstruct timeout_handler\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__basic_string_view basic_string_view]\r[indexterm1 basic_string_view]\r
 The type of `basic_string_view` used by the library. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/string_type.hpp]\r\r\r\r```\rtemplate<\r    class CharT,\r    class Traits>\rusing basic_string_view = boost::basic_string_view< CharT, Traits >;\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:boost__beast__beast_close_socket beast_close_socket]\r[indexterm1 beast_close_socket]\r
 Default socket close function. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/stream_traits.hpp]\r\r\r\r```\rtemplate<\r    class __Protocol__,\r    class __Executor__>\rvoid\rbeast_close_socket(\r    net::basic_socket< Protocol, Executor >& sock);\r\r```\r\r[heading Description]\r
 This function is not meant to be called directly. Instead, it is called automatically when using [link beast.ref.boost__beast__close_socket `close_socket`]. To enable closure of user-defined types or classes derived from a particular user-defined type, this function should be overloaded in the corresponding namespace for the type in question.
@@ -1146,7 +1228,7 @@ Example: \r```\r  // Process the next HTTP header on the stream,
 The type of stream to wrap.\r  ]]\r  [[`DynamicBuffer`][\r    
 The type of stream buffer to use. \r  ]]\r]\r
 [section:async_read_some buffered_read_stream::async_read_some]\r[indexterm2 async_read_some..buffered_read_stream]\r
-Start an asynchronous read. \r[heading Synopsis]\r```\rtemplate<\r    class __MutableBufferSequence__,\r    class __ReadHandler__>\r``__deduced__``\rasync_read_some(\r    MutableBufferSequence const& buffers,\r    ReadHandler&& handler);\r```\r\r[heading Description]\r
+Start an asynchronous read. \r[heading Synopsis]\r```\rtemplate<\r    class __MutableBufferSequence__,\r    class __ReadHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_read_some(\r    MutableBufferSequence const& buffers,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously read data from the stream. The function call always returns immediately.
 [heading Parameters]\r[table [[Name][Description]]\r  [[`buffers`][\r    
 One or more buffers into which the data will be read. Although the buffers object may be copied as necessary, ownership of the underlying memory blocks is retained by the caller, which must guarantee that they remain valid until the handler is called.\r  ]]\r  [[`handler`][\r    
@@ -1156,7 +1238,7 @@ The completion handler to invoke when the operation completes. The implementatio
   );
 ```\r\r  ]]\r]\r
 Regardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using `net::post`. [endsect]\r[section:async_write_some buffered_read_stream::async_write_some]\r[indexterm2 async_write_some..buffered_read_stream]\r
-Start an asynchronous write. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class __WriteHandler__>\r``__deduced__``\rasync_write_some(\r    ConstBufferSequence const& buffers,\r    WriteHandler&& handler);\r```\r\r[heading Description]\r
+Start an asynchronous write. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class __WriteHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_write_some(\r    ConstBufferSequence const& buffers,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously write data from the stream. The function call always returns immediately.
 [heading Parameters]\r[table [[Name][Description]]\r  [[`buffers`][\r    
 One or more data buffers to be written to the stream. Although the buffers object may be copied as necessary, ownership of the underlying memory blocks is retained by the caller, which must guarantee that they remain valid until the handler is called.\r  ]]\r  [[`handler`][\r    
@@ -2021,7 +2103,7 @@ The type representing the next layer, to which data will be read and written dur
 
 
 [section:async_read_some flat_stream::async_read_some]\r[indexterm2 async_read_some..flat_stream]\r
-Start an asynchronous read. \r[heading Synopsis]\r```\rtemplate<\r    class __MutableBufferSequence__,\r    class __ReadHandler__>\r``__deduced__``\rasync_read_some(\r    MutableBufferSequence const& buffers,\r    ReadHandler&& handler);\r```\r\r[heading Description]\r
+Start an asynchronous read. \r[heading Synopsis]\r```\rtemplate<\r    class __MutableBufferSequence__,\r    class __ReadHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_read_some(\r    MutableBufferSequence const& buffers,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously read one or more bytes of data from the stream. The function call always returns immediately.
 [heading Parameters]\r[table [[Name][Description]]\r  [[`buffers`][\r    
 The buffers into which the data will be read. Although the buffers object may be copied as necessary, ownership of the underlying buffers is retained by the caller, which must guarantee that they remain valid until the handler is called.\r  ]]\r  [[`handler`][\r    
@@ -2033,7 +2115,7 @@ The completion handler to invoke when the operation completes. The implementatio
 [heading Remarks]\r
 The `read_some` operation may not read all of the requested number of bytes. Consider using the function `net::async_read` if you need to ensure that the requested amount of data is read before the asynchronous operation completes. 
 [endsect]\r[section:async_write_some flat_stream::async_write_some]\r[indexterm2 async_write_some..flat_stream]\r
-Start an asynchronous write. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class __WriteHandler__>\r``__deduced__``\rasync_write_some(\r    ConstBufferSequence const& buffers,\r    WriteHandler&& handler);\r```\r\r[heading Description]\r
+Start an asynchronous write. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class __WriteHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_write_some(\r    ConstBufferSequence const& buffers,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously write one or more bytes of data to the stream. The function call always returns immediately.
 [heading Parameters]\r[table [[Name][Description]]\r  [[`buffers`][\r    
 The data to be written to the stream. Although the buffers object may be copied as necessary, ownership of the underlying buffers is retained by the caller, which must guarantee that they remain valid until the handler is called.\r  ]]\r  [[`handler`][\r    
@@ -2173,9 +2255,9 @@ Use with `static_assert`:
 
   static_assert(has_get_executor<stream>::value, "Missing get_executor member");
 ```\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:boost__beast__http__async_read http::async_read]\r[indexterm1 http::async_read]\r
-Read a complete message asynchronously from a stream using a parser. ```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    bool isRequest,\r    class __ReadHandler__>\r``__deduced__``\r``[link beast.ref.boost__beast__http__async_read.overload1 async_read]``(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    basic_parser< isRequest >& parser,\r    ReadHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__http__async_read.overload1 more...]]``\r\r```\r
-Read a complete message asynchronously from a stream. ```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    bool isRequest,\r    class __Body__,\r    class __Allocator__,\r    class __ReadHandler__>\r``__deduced__``\r``[link beast.ref.boost__beast__http__async_read.overload2 async_read]``(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    message< isRequest, Body, basic_fields< Allocator >>& msg,\r    ReadHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__http__async_read.overload2 more...]]``\r```\r[section:overload1 http::async_read (1 of 2 overloads)]\r
-Read a complete message asynchronously from a stream using a parser. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/read.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    bool isRequest,\r    class __ReadHandler__>\r``__deduced__``\rasync_read(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    basic_parser< isRequest >& parser,\r    ReadHandler&& handler);\r\r```\r\r[heading Description]\r
+Read a complete message asynchronously from a stream using a parser. ```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    bool isRequest,\r    class __ReadHandler__ = net::default_completion_token_t<            executor_type<AsyncReadStream>>>\r``__deduced__``\r``[link beast.ref.boost__beast__http__async_read.overload1 async_read]``(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    basic_parser< isRequest >& parser,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type< AsyncReadStream >>{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__http__async_read.overload1 more...]]``\r\r```\r
+Read a complete message asynchronously from a stream. ```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    bool isRequest,\r    class __Body__,\r    class __Allocator__,\r    class __ReadHandler__ = net::default_completion_token_t<            executor_type<AsyncReadStream>>>\r``__deduced__``\r``[link beast.ref.boost__beast__http__async_read.overload2 async_read]``(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    message< isRequest, Body, basic_fields< Allocator >>& msg,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type< AsyncReadStream >>{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__http__async_read.overload2 more...]]``\r```\r[section:overload1 http::async_read (1 of 2 overloads)]\r
+Read a complete message asynchronously from a stream using a parser. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/read.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    bool isRequest,\r    class __ReadHandler__ = net::default_completion_token_t<            executor_type<AsyncReadStream>>>\r``__deduced__``\rasync_read(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    basic_parser< isRequest >& parser,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type< AsyncReadStream >>{});\r\r```\r\r[heading Description]\r
 This function is used to asynchronously read a complete message from a stream into an instance of [link beast.ref.boost__beast__http__basic_parser `http::basic_parser`]. The function call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
 * [link beast.ref.boost__beast__http__basic_parser.is_done `http::basic_parser::is_done`] returns `true`
@@ -2206,7 +2288,7 @@ The completion handler to invoke when the operation completes. The implementatio
 [heading Remarks]\r
 The completion handler will receive as a parameter the total number of bytes transferred from the stream. This may be zero for the case where there is sufficient pre-existing message data in the dynamic buffer. The implementation will call [link beast.ref.boost__beast__http__basic_parser.eager `http::basic_parser::eager`] with the value `true` on the parser passed in. 
 \r\r\rConvenience header [include_file boost/beast/http.hpp]\r\r[endsect]\r[section:overload2 http::async_read (2 of 2 overloads)]\r
-Read a complete message asynchronously from a stream. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/read.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    bool isRequest,\r    class __Body__,\r    class __Allocator__,\r    class __ReadHandler__>\r``__deduced__``\rasync_read(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    message< isRequest, Body, basic_fields< Allocator >>& msg,\r    ReadHandler&& handler);\r\r```\r\r[heading Description]\r
+Read a complete message asynchronously from a stream. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/read.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    bool isRequest,\r    class __Body__,\r    class __Allocator__,\r    class __ReadHandler__ = net::default_completion_token_t<            executor_type<AsyncReadStream>>>\r``__deduced__``\rasync_read(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    message< isRequest, Body, basic_fields< Allocator >>& msg,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type< AsyncReadStream >>{});\r\r```\r\r[heading Description]\r
 This function is used to asynchronously read a complete message from a stream into an instance of [link beast.ref.boost__beast__http__message `http::message`]. The function call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
 * The entire message is read in.
@@ -2237,7 +2319,7 @@ The completion handler to invoke when the operation completes. The implementatio
 [heading Remarks]\r
 The completion handler will receive as a parameter the total number of bytes transferred from the stream. This may be zero for the case where there is sufficient pre-existing message data in the dynamic buffer. The implementation will call [link beast.ref.boost__beast__http__basic_parser.eager `http::basic_parser::eager`] with the value `true` on the parser passed in. 
 \r\r\rConvenience header [include_file boost/beast/http.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__http__async_read_header http::async_read_header]\r[indexterm1 http::async_read_header]\r
-Read a complete message header asynchronously from a stream using a parser. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/read.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    bool isRequest,\r    class __ReadHandler__>\r``__deduced__``\rasync_read_header(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    basic_parser< isRequest >& parser,\r    ReadHandler&& handler);\r\r```\r\r[heading Description]\r
+Read a complete message header asynchronously from a stream using a parser. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/read.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    bool isRequest,\r    class __ReadHandler__ = net::default_completion_token_t<            executor_type<AsyncReadStream>>>\r``__deduced__``\rasync_read_header(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    basic_parser< isRequest >& parser,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type< AsyncReadStream >>{});\r\r```\r\r[heading Description]\r
 This function is used to asynchronously read a complete message header from a stream into an instance of [link beast.ref.boost__beast__http__basic_parser `http::basic_parser`]. The function call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
 * [link beast.ref.boost__beast__http__basic_parser.is_header_done `http::basic_parser::is_header_done`] returns `true`
@@ -2268,7 +2350,7 @@ The completion handler to invoke when the operation completes. The implementatio
 [heading Remarks]\r
 The completion handler will receive as a parameter the total number of bytes transferred from the stream. This may be zero for the case where there is sufficient pre-existing message data in the dynamic buffer. The implementation will call [link beast.ref.boost__beast__http__basic_parser.eager `http::basic_parser::eager`] with the value `false` on the parser passed in. 
 \r\r\rConvenience header [include_file boost/beast/http.hpp]\r\r[endsect]\r[section:boost__beast__http__async_read_some http::async_read_some]\r[indexterm1 http::async_read_some]\r
-Read part of a message asynchronously from a stream using a parser. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/read.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    bool isRequest,\r    class __ReadHandler__>\r``__deduced__``\rasync_read_some(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    basic_parser< isRequest >& parser,\r    ReadHandler&& handler);\r\r```\r\r[heading Description]\r
+Read part of a message asynchronously from a stream using a parser. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/read.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncReadStream__,\r    class __DynamicBuffer__,\r    bool isRequest,\r    class __ReadHandler__ = net::default_completion_token_t<            executor_type<AsyncReadStream>>>\r``__deduced__``\rasync_read_some(\r    AsyncReadStream& stream,\r    DynamicBuffer& buffer,\r    basic_parser< isRequest >& parser,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type< AsyncReadStream >>{});\r\r```\r\r[heading Description]\r
 This function is used to asynchronously read part of a message from a stream into an instance of [link beast.ref.boost__beast__http__basic_parser `http::basic_parser`]. The function call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
 * A call to [link beast.ref.boost__beast__http__basic_parser.put `http::basic_parser::put`] with a non-empty buffer sequence is successful.
@@ -2299,9 +2381,9 @@ The completion handler to invoke when the operation completes. The implementatio
 [heading Remarks]\r
 The completion handler will receive as a parameter the total number of bytes transferred from the stream. This may be zero for the case where there is sufficient pre-existing message data in the dynamic buffer. 
 \r\r\rConvenience header [include_file boost/beast/http.hpp]\r\r[endsect]\r[section:boost__beast__http__async_write http::async_write]\r[indexterm1 http::async_write]\r
-Write a complete message to a stream asynchronously using a serializer. ```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__>\r``__deduced__``\r``[link beast.ref.boost__beast__http__async_write.overload1 async_write]``(\r    AsyncWriteStream& stream,\r    serializer< isRequest, Body, Fields >& sr,\r    WriteHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__http__async_write.overload1 more...]]``\r\r```\r
-Write a complete message to a stream asynchronously. ```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__>\r``__deduced__``\r``[link beast.ref.boost__beast__http__async_write.overload2 async_write]``(\r    AsyncWriteStream& stream,\r    message< isRequest, Body, Fields >& msg,\r    WriteHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__http__async_write.overload2 more...]]``\r\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__>\r``__deduced__``\r``[link beast.ref.boost__beast__http__async_write.overload3 async_write]``(\r    AsyncWriteStream& stream,\r    message< isRequest, Body, Fields > const& msg,\r    WriteHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__http__async_write.overload3 more...]]``\r```\r[section:overload1 http::async_write (1 of 3 overloads)]\r
-Write a complete message to a stream asynchronously using a serializer. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/write.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__>\r``__deduced__``\rasync_write(\r    AsyncWriteStream& stream,\r    serializer< isRequest, Body, Fields >& sr,\r    WriteHandler&& handler);\r\r```\r\r[heading Description]\r
+Write a complete message to a stream asynchronously using a serializer. ```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__ = net::default_completion_token_t<            executor_type<AsyncWriteStream>>>\r``__deduced__``\r``[link beast.ref.boost__beast__http__async_write.overload1 async_write]``(\r    AsyncWriteStream& stream,\r    serializer< isRequest, Body, Fields >& sr,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type< AsyncWriteStream >>{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__http__async_write.overload1 more...]]``\r\r```\r
+Write a complete message to a stream asynchronously. ```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__ = net::default_completion_token_t<            executor_type<AsyncWriteStream>>>\r``__deduced__``\r``[link beast.ref.boost__beast__http__async_write.overload2 async_write]``(\r    AsyncWriteStream& stream,\r    message< isRequest, Body, Fields >& msg,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type< AsyncWriteStream >>{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__http__async_write.overload2 more...]]``\r\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__ = net::default_completion_token_t<            executor_type<AsyncWriteStream>>>\r``__deduced__``\r``[link beast.ref.boost__beast__http__async_write.overload3 async_write]``(\r    AsyncWriteStream& stream,\r    message< isRequest, Body, Fields > const& msg,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type< AsyncWriteStream >>{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__http__async_write.overload3 more...]]``\r```\r[section:overload1 http::async_write (1 of 3 overloads)]\r
+Write a complete message to a stream asynchronously using a serializer. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/write.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__ = net::default_completion_token_t<            executor_type<AsyncWriteStream>>>\r``__deduced__``\rasync_write(\r    AsyncWriteStream& stream,\r    serializer< isRequest, Body, Fields >& sr,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type< AsyncWriteStream >>{});\r\r```\r\r[heading Description]\r
 This function is used to write a complete message to a stream asynchronously using a caller-provided HTTP/1 serializer. The function call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
 * The function [link beast.ref.boost__beast__http__serializer.is_done `http::serializer::is_done`] returns `true`
@@ -2321,7 +2403,7 @@ The completion handler to invoke when the operation completes. The implementatio
 [heading See Also]\r
 [link beast.ref.boost__beast__http__serializer `http::serializer`] 
 \r\r\rConvenience header [include_file boost/beast/http.hpp]\r\r[endsect]\r[section:overload2 http::async_write (2 of 3 overloads)]\r
-Write a complete message to a stream asynchronously. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/write.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__>\r``__deduced__``\rasync_write(\r    AsyncWriteStream& stream,\r    message< isRequest, Body, Fields >& msg,\r    WriteHandler&& handler);\r\r```\r\r[heading Description]\r
+Write a complete message to a stream asynchronously. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/write.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__ = net::default_completion_token_t<            executor_type<AsyncWriteStream>>>\r``__deduced__``\rasync_write(\r    AsyncWriteStream& stream,\r    message< isRequest, Body, Fields >& msg,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type< AsyncWriteStream >>{});\r\r```\r\r[heading Description]\r
 This function is used to write a complete message to a stream asynchronously using HTTP/1. The function call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
 * The entire message is written.
@@ -2343,7 +2425,7 @@ The completion handler to invoke when the operation completes. The implementatio
 [heading See Also]\r
 [link beast.ref.boost__beast__http__message `http::message`] 
 \r\r\rConvenience header [include_file boost/beast/http.hpp]\r\r[endsect]\r[section:overload3 http::async_write (3 of 3 overloads)]\r
-Write a complete message to a stream asynchronously. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/write.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__>\r``__deduced__``\rasync_write(\r    AsyncWriteStream& stream,\r    message< isRequest, Body, Fields > const& msg,\r    WriteHandler&& handler);\r\r```\r\r[heading Description]\r
+Write a complete message to a stream asynchronously. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/write.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__ = net::default_completion_token_t<            executor_type<AsyncWriteStream>>>\r``__deduced__``\rasync_write(\r    AsyncWriteStream& stream,\r    message< isRequest, Body, Fields > const& msg,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type< AsyncWriteStream >>{});\r\r```\r\r[heading Description]\r
 This function is used to write a complete message to a stream asynchronously using HTTP/1. The function call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
 * The entire message is written.
@@ -2365,7 +2447,7 @@ The completion handler to invoke when the operation completes. The implementatio
 [heading See Also]\r
 [link beast.ref.boost__beast__http__message `http::message`] 
 \r\r\rConvenience header [include_file boost/beast/http.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__http__async_write_header http::async_write_header]\r[indexterm1 http::async_write_header]\r
-Write a header to a stream asynchronously using a serializer. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/write.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__>\r``__deduced__``\rasync_write_header(\r    AsyncWriteStream& stream,\r    serializer< isRequest, Body, Fields >& sr,\r    WriteHandler&& handler);\r\r```\r\r[heading Description]\r
+Write a header to a stream asynchronously using a serializer. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/write.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__ = net::default_completion_token_t<            executor_type<AsyncWriteStream>>>\r``__deduced__``\rasync_write_header(\r    AsyncWriteStream& stream,\r    serializer< isRequest, Body, Fields >& sr,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type< AsyncWriteStream >>{});\r\r```\r\r[heading Description]\r
 This function is used to write a header to a stream asynchronously using a caller-provided HTTP/1 serializer. The function call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
 * The function [link beast.ref.boost__beast__http__serializer.is_header_done `http::serializer::is_header_done`] returns `true`
@@ -2387,7 +2469,7 @@ The implementation will call [link beast.ref.boost__beast__http__serializer.spli
 [heading See Also]\r
 [link beast.ref.boost__beast__http__serializer `http::serializer`] 
 \r\r\rConvenience header [include_file boost/beast/http.hpp]\r\r[endsect]\r[section:boost__beast__http__async_write_some http::async_write_some]\r[indexterm1 http::async_write_some]\r
-Write part of a message to a stream asynchronously using a serializer. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/write.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__>\r``__deduced__``\rasync_write_some(\r    AsyncWriteStream& stream,\r    serializer< isRequest, Body, Fields >& sr,\r    WriteHandler&& handler);\r\r```\r\r[heading Description]\r
+Write part of a message to a stream asynchronously using a serializer. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/http/write.hpp]\r\r\r\r```\rtemplate<\r    class __AsyncWriteStream__,\r    bool isRequest,\r    class __Body__,\r    class __Fields__,\r    class __WriteHandler__ = net::default_completion_token_t<            executor_type<AsyncWriteStream>>>\r``__deduced__``\rasync_write_some(\r    AsyncWriteStream& stream,\r    serializer< isRequest, Body, Fields >& sr,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type< AsyncWriteStream >>{});\r\r```\r\r[heading Description]\r
 This function is used to write part of a message to a stream asynchronously using a caller-provided HTTP/1 serializer. The function call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
 * One or more bytes have been transferred.
@@ -3333,7 +3415,7 @@ A stream object must not be moved or destroyed while there are pending asynchron
 [heading Concepts]
 ['AsyncStream], ['SyncStream] 
 [section:async_read_some http::icy_stream::async_read_some]\r[indexterm2 async_read_some..http::icy_stream]\r
-Start an asynchronous read. \r[heading Synopsis]\r```\rtemplate<\r    class __MutableBufferSequence__,\r    class __ReadHandler__>\r``__deduced__``\rasync_read_some(\r    MutableBufferSequence const& buffers,\r    ReadHandler&& handler);\r```\r\r[heading Description]\r
+Start an asynchronous read. \r[heading Synopsis]\r```\rtemplate<\r    class __MutableBufferSequence__,\r    class __ReadHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_read_some(\r    MutableBufferSequence const& buffers,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously read one or more bytes of data from the stream. The function call always returns immediately.
 [heading Parameters]\r[table [[Name][Description]]\r  [[`buffers`][\r    
 The buffers into which the data will be read. Although the buffers object may be copied as necessary, ownership of the underlying buffers is retained by the caller, which must guarantee that they remain valid until the handler is called.\r  ]]\r  [[`handler`][\r    
@@ -3345,7 +3427,7 @@ The completion handler to invoke when the operation completes. The implementatio
 [heading Remarks]\r
 The `async_read_some` operation may not read all of the requested number of bytes. Consider using the function `net::async_read` if you need to ensure that the requested amount of data is read before the asynchronous operation completes. 
 [endsect]\r[section:async_write_some http::icy_stream::async_write_some]\r[indexterm2 async_write_some..http::icy_stream]\r
-Start an asynchronous write. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class __WriteHandler__>\r``__deduced__``\rasync_write_some(\r    ConstBufferSequence const& buffers,\r    WriteHandler&& handler);\r```\r\r[heading Description]\r
+Start an asynchronous write. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class __WriteHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_write_some(\r    ConstBufferSequence const& buffers,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously write one or more bytes of data to the stream. The function call always returns immediately.
 [heading Parameters]\r[table [[Name][Description]]\r  [[`buffers`][\r    
 The data to be written to the stream. Although the buffers object may be copied as necessary, ownership of the underlying buffers is retained by the caller, which must guarantee that they remain valid until the handler is called.\r  ]]\r  [[`handler`][\r    
@@ -4930,7 +5012,7 @@ Objects of this type meet the requirements of ['DynamicBuffer] and have the foll
 
 [heading Template Parameters]\r[table [[Type][Description]]\r  [[`Allocator`][\r    
 The allocator to use for managing memory. \r  ]]\r]\r
-\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:boost__beast__operator_not__eq_ operator!=]\r[indexterm1 operator!=]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_not__eq_.overload1 operator!=]``(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_not__eq_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_not__eq_.overload2 operator!=]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_not__eq_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_not__eq_.overload3 operator!=]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_not__eq_.overload3 more...]]``\r```\r[section:overload1 operator!= (1 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\roperator!=(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator!= (2 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator!=(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator!= (3 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator!=(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__operator_plus_ operator+]\r[indexterm1 operator+]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rvoid\r``[link beast.ref.boost__beast__operator_plus_.overload1 operator+]``(\r    static_string< N, CharT, Traits >const& lhs,\r    static_string< M, CharT, Traits >const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_plus_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\r``[link beast.ref.boost__beast__operator_plus_.overload2 operator+]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits >const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_plus_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\r``[link beast.ref.boost__beast__operator_plus_.overload3 operator+]``(\r    CharT lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_plus_.overload3 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\r``[link beast.ref.boost__beast__operator_plus_.overload4 operator+]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_plus_.overload4 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\r``[link beast.ref.boost__beast__operator_plus_.overload5 operator+]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_plus_.overload5 more...]]``\r```\r[section:overload1 operator+ (1 of 5 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rvoid\roperator+(\r    static_string< N, CharT, Traits >const& lhs,\r    static_string< M, CharT, Traits >const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator+ (2 of 5 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\roperator+(\r    CharT const* lhs,\r    static_string< N, CharT, Traits >const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator+ (3 of 5 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\roperator+(\r    CharT lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload4 operator+ (4 of 5 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\roperator+(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload5 operator+ (5 of 5 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\roperator+(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__operator_lt_ operator<]\r[indexterm1 operator<]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_lt_.overload1 operator<]``(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_lt_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_lt_.overload2 operator<]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_lt_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_lt_.overload3 operator<]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_lt_.overload3 more...]]``\r```\r[section:overload1 operator< (1 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\roperator<(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator< (2 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator<(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator< (3 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator<(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__operator_lt__lt_ operator<<]\r[indexterm1 operator<<]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rstd::basic_ostream< CharT, Traits >&\roperator<<(\r    std::basic_ostream< CharT, Traits >& os,\r    static_string< N, CharT, Traits > const& str);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:boost__beast__operator_lt__eq_ operator<=]\r[indexterm1 operator<=]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_lt__eq_.overload1 operator<=]``(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_lt__eq_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_lt__eq_.overload2 operator<=]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_lt__eq_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_lt__eq_.overload3 operator<=]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_lt__eq_.overload3 more...]]``\r```\r[section:overload1 operator<= (1 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\roperator<=(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator<= (2 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator<=(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator<= (3 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator<=(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__operator_eq__eq_ operator==]\r[indexterm1 operator==]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_eq__eq_.overload1 operator==]``(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_eq__eq_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_eq__eq_.overload2 operator==]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_eq__eq_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_eq__eq_.overload3 operator==]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_eq__eq_.overload3 more...]]``\r```\r[section:overload1 operator== (1 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\roperator==(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator== (2 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator==(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator== (3 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator==(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__operator_gt_ operator>]\r[indexterm1 operator>]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_gt_.overload1 operator>]``(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_gt_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_gt_.overload2 operator>]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_gt_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_gt_.overload3 operator>]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_gt_.overload3 more...]]``\r```\r[section:overload1 operator> (1 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\roperator>(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator> (2 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator>(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator> (3 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator>(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__operator_gt__eq_ operator>=]\r[indexterm1 operator>=]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_gt__eq_.overload1 operator>=]``(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_gt__eq_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_gt__eq_.overload2 operator>=]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_gt__eq_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_gt__eq_.overload3 operator>=]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_gt__eq_.overload3 more...]]``\r```\r[section:overload1 operator>= (1 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\roperator>=(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator>= (2 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator>=(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator>= (3 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator>=(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__ostream ostream]\r[indexterm1 ostream]\r
+\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:boost__beast__operator_not__eq_ operator!=]\r[indexterm1 operator!=]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_not__eq_.overload1 operator!=]``(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_not__eq_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_not__eq_.overload2 operator!=]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_not__eq_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_not__eq_.overload3 operator!=]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_not__eq_.overload3 more...]]``\r```\r[section:overload1 operator!= (1 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\roperator!=(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator!= (2 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator!=(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator!= (3 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator!=(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__operator_plus_ operator+]\r[indexterm1 operator+]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rvoid\r``[link beast.ref.boost__beast__operator_plus_.overload1 operator+]``(\r    static_string< N, CharT, Traits >const&,\r    static_string< M, CharT, Traits >const&);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_plus_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\r``[link beast.ref.boost__beast__operator_plus_.overload2 operator+]``(\r    CharT const*,\r    static_string< N, CharT, Traits >const&);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_plus_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\r``[link beast.ref.boost__beast__operator_plus_.overload3 operator+]``(\r    CharT,\r    static_string< N, CharT, Traits > const&);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_plus_.overload3 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\r``[link beast.ref.boost__beast__operator_plus_.overload4 operator+]``(\r    static_string< N, CharT, Traits > const&,\r    CharT const*);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_plus_.overload4 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\r``[link beast.ref.boost__beast__operator_plus_.overload5 operator+]``(\r    static_string< N, CharT, Traits > const&,\r    CharT);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_plus_.overload5 more...]]``\r```\r[section:overload1 operator+ (1 of 5 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rvoid\roperator+(\r    static_string< N, CharT, Traits >const&,\r    static_string< M, CharT, Traits >const&);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator+ (2 of 5 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\roperator+(\r    CharT const*,\r    static_string< N, CharT, Traits >const&);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator+ (3 of 5 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\roperator+(\r    CharT,\r    static_string< N, CharT, Traits > const&);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload4 operator+ (4 of 5 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\roperator+(\r    static_string< N, CharT, Traits > const&,\r    CharT const*);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload5 operator+ (5 of 5 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\roperator+(\r    static_string< N, CharT, Traits > const&,\r    CharT);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__operator_lt_ operator<]\r[indexterm1 operator<]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_lt_.overload1 operator<]``(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_lt_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_lt_.overload2 operator<]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_lt_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_lt_.overload3 operator<]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_lt_.overload3 more...]]``\r```\r[section:overload1 operator< (1 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\roperator<(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator< (2 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator<(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator< (3 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator<(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__operator_lt__lt_ operator<<]\r[indexterm1 operator<<]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rstd::basic_ostream< CharT, Traits >&\roperator<<(\r    std::basic_ostream< CharT, Traits >& os,\r    static_string< N, CharT, Traits > const& str);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:boost__beast__operator_lt__eq_ operator<=]\r[indexterm1 operator<=]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_lt__eq_.overload1 operator<=]``(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_lt__eq_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_lt__eq_.overload2 operator<=]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_lt__eq_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_lt__eq_.overload3 operator<=]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_lt__eq_.overload3 more...]]``\r```\r[section:overload1 operator<= (1 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\roperator<=(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator<= (2 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator<=(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator<= (3 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator<=(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__operator_eq__eq_ operator==]\r[indexterm1 operator==]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_eq__eq_.overload1 operator==]``(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_eq__eq_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_eq__eq_.overload2 operator==]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_eq__eq_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_eq__eq_.overload3 operator==]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_eq__eq_.overload3 more...]]``\r```\r[section:overload1 operator== (1 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\roperator==(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator== (2 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator==(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator== (3 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator==(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__operator_gt_ operator>]\r[indexterm1 operator>]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_gt_.overload1 operator>]``(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_gt_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_gt_.overload2 operator>]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_gt_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_gt_.overload3 operator>]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_gt_.overload3 more...]]``\r```\r[section:overload1 operator> (1 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\roperator>(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator> (2 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator>(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator> (3 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator>(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__operator_gt__eq_ operator>=]\r[indexterm1 operator>=]\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_gt__eq_.overload1 operator>=]``(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_gt__eq_.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_gt__eq_.overload2 operator>=]``(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_gt__eq_.overload2 more...]]``\r\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\r``[link beast.ref.boost__beast__operator_gt__eq_.overload3 operator>=]``(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__operator_gt__eq_.overload3 more...]]``\r```\r[section:overload1 operator>= (1 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rbool\roperator>=(\r    static_string< N, CharT, Traits > const& lhs,\r    static_string< M, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 operator>= (2 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator>=(\r    CharT const* lhs,\r    static_string< N, CharT, Traits > const& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload3 operator>= (3 of 3 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rbool\roperator>=(\r    static_string< N, CharT, Traits > const& lhs,\r    CharT const* rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__ostream ostream]\r[indexterm1 ostream]\r
 Return an output stream that formats values into a ['DynamicBuffer]. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/ostream.hpp]\r\r\r\r```\rtemplate<\r    class __DynamicBuffer__>\r``['implementation-defined]``\rostream(\r    DynamicBuffer& buffer);\r\r```\r\r[heading Description]\r
 This function wraps the caller provided ['DynamicBuffer] into a `std::ostream` derived class, to allow `operator<<` stream style formatting operations.
 [heading Example]
@@ -5792,7 +5874,7 @@ One or more arguments to convert \r  ]]\r]
 The type of string view used by the library. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/string_type.hpp]\r\r\r\r```\rusing string_view = boost::string_view;\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:boost__beast__swap swap]\r[indexterm1 swap]\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\r``[link beast.ref.boost__beast__swap.overload1 swap]``(\r    static_string< N, CharT, Traits >& lhs,\r    static_string< N, CharT, Traits >& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__swap.overload1 more...]]``\r\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rvoid\r``[link beast.ref.boost__beast__swap.overload2 swap]``(\r    static_string< N, CharT, Traits >& lhs,\r    static_string< M, CharT, Traits >& rhs);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__swap.overload2 more...]]``\r```\r[section:overload1 swap (1 of 2 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    class CharT,\r    class Traits>\rvoid\rswap(\r    static_string< N, CharT, Traits >& lhs,\r    static_string< N, CharT, Traits >& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:overload2 swap (2 of 2 overloads)]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/static_string.hpp]\r\r\r\r```\rtemplate<\r    std::size_t N,\r    std::size_t M,\r    class CharT,\r    class Traits>\rvoid\rswap(\r    static_string< N, CharT, Traits >& lhs,\r    static_string< M, CharT, Traits >& rhs);\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[endsect]\r\r\r\r[section:boost__beast__system_category system_category]\r[indexterm1 system_category]\r
 A function to return the system error category used by the library. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/error.hpp]\r\r\r\r```\rerror_category const &\rsystem_category();\r\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:boost__beast__system_error system_error]\r[indexterm1 system_error]\r
 The type of system error thrown by the library. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/error.hpp]\r\r\r\r```\rusing system_error = boost::system::system_error;\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/core.hpp]\r\r[endsect]\r[section:boost__beast__tcp_stream tcp_stream]\r[indexterm1 tcp_stream]\r
-A TCP/IP stream socket with timeouts and a polymorphic executor. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/tcp_stream.hpp]\r\r\r\r```\rusing tcp_stream = basic_stream< net::ip::tcp, net::executor, unlimited_rate_policy >;\r```\r[heading Types]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream.endpoint_type [*endpoint_type]]]\r    [\r      The endpoint type. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.executor_type [*executor_type]]]\r    [\r      The type of the executor associated with the stream. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.protocol_type [*protocol_type]]]\r    [\r      The protocol type. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.socket_type [*socket_type]]]\r    [\r      The type of the underlying socket. \r    ]\r  ]\r]\r[heading Member Functions]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_connect [*async_connect]]]\r    [\r      Connect the stream to the specified endpoint asynchronously. \r\r      Establishes a connection by trying each endpoint in a sequence asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_read_some [*async_read_some]]]\r    [\r      Read some data asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_write_some [*async_write_some]]]\r    [\r      Write some data asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.basic_stream [*basic_stream]]]\r    [\r      Constructor. \r\r      Move constructor. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.cancel [*cancel]]]\r    [\r      Cancel all asynchronous operations associated with the socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.close [*close]]]\r    [\r      Close the timed stream. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.connect [*connect]]]\r    [\r      Connect the stream to the specified endpoint. \r\r      Establishes a connection by trying each endpoint in a sequence. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_after [*expires_after]]]\r    [\r      Set the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_at [*expires_at]]]\r    [\r      Set the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_never [*expires_never]]]\r    [\r      Disable the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.get_executor [*get_executor]]]\r    [\r      Get the executor associated with the object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.operator_eq_ [*operator=]]]\r    [\r      Move assignment (deleted). \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.rate_policy [*rate_policy]]]\r    [\r      Returns the rate policy associated with the object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.read_some [*read_some]]]\r    [\r      Read some data. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.release_socket [*release_socket]]]\r    [\r      Release ownership of the underlying socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.socket [*socket]]]\r    [\r      Return a reference to the underlying socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.write_some [*write_some]]]\r    [\r      Write some data. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.basic_stream_dtor_ [*~basic_stream]]]\r    [\r      Destructor. \r    ]\r  ]\r]\r
+A TCP/IP stream socket with timeouts and a polymorphic executor. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/core/tcp_stream.hpp]\r\r\r\r```\rusing tcp_stream = basic_stream< net::ip::tcp, net::executor, unlimited_rate_policy >;\r```\r[heading Types]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream__rebind_executor [*rebind_executor]]]\r    [\r      Rebinds the stream type to another executor. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.endpoint_type [*endpoint_type]]]\r    [\r      The endpoint type. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.executor_type [*executor_type]]]\r    [\r      The type of the executor associated with the stream. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.protocol_type [*protocol_type]]]\r    [\r      The protocol type. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.socket_type [*socket_type]]]\r    [\r      The type of the underlying socket. \r    ]\r  ]\r]\r[heading Member Functions]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_connect [*async_connect]]]\r    [\r      Connect the stream to the specified endpoint asynchronously. \r\r      Establishes a connection by trying each endpoint in a sequence asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_read_some [*async_read_some]]]\r    [\r      Read some data asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.async_write_some [*async_write_some]]]\r    [\r      Write some data asynchronously. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.basic_stream [*basic_stream]]]\r    [\r      Constructor. \r\r      Move constructor. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.cancel [*cancel]]]\r    [\r      Cancel all asynchronous operations associated with the socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.close [*close]]]\r    [\r      Close the timed stream. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.connect [*connect]]]\r    [\r      Connect the stream to the specified endpoint. \r\r      Establishes a connection by trying each endpoint in a sequence. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_after [*expires_after]]]\r    [\r      Set the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_at [*expires_at]]]\r    [\r      Set the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.expires_never [*expires_never]]]\r    [\r      Disable the timeout for the next logical operation. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.get_executor [*get_executor]]]\r    [\r      Get the executor associated with the object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.operator_eq_ [*operator=]]]\r    [\r      Move assignment (deleted). \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.rate_policy [*rate_policy]]]\r    [\r      Returns the rate policy associated with the object. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.read_some [*read_some]]]\r    [\r      Read some data. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.release_socket [*release_socket]]]\r    [\r      Release ownership of the underlying socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.socket [*socket]]]\r    [\r      Return a reference to the underlying socket. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.write_some [*write_some]]]\r    [\r      Write some data. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__basic_stream.basic_stream_dtor_ [*~basic_stream]]]\r    [\r      Destructor. \r    ]\r  ]\r]\r
 This stream wraps a `net::basic_stream_socket` to provide the following features:
 
 * An ['Executor] may be associated with the stream, which will be used to invoke any completion handlers which do not already have an associated executor. This achieves support for [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html [P1322R0] Networking TS enhancement to enable custom I/O executors].
@@ -6437,8 +6519,8 @@ Set to indicate what error occurred, if any.\r  ]]\r]
 
 
 [endsect]\r[endsect]\r\r[section:async_accept websocket::stream::async_accept]\r[indexterm2 async_accept..websocket::stream]\r
-Perform the WebSocket handshake asynchronously in the server role. ```\rtemplate<\r    class AcceptHandler>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_accept.overload1 async_accept]``(\r    AcceptHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_accept.overload1 more...]]``\r\rtemplate<\r    class __ConstBufferSequence__,\r    class AcceptHandler>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_accept.overload2 async_accept]``(\r    ConstBufferSequence const& buffers,\r    AcceptHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_accept.overload2 more...]]``\r\rtemplate<\r    class __Body__,\r    class __Allocator__,\r    class AcceptHandler>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_accept.overload3 async_accept]``(\r    http::request< Body, http::basic_fields< Allocator >> const& req,\r    AcceptHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_accept.overload3 more...]]``\r```\r[section:overload1 websocket::stream::async_accept (1 of 3 overloads)]\r
-Perform the WebSocket handshake asynchronously in the server role. \r[heading Synopsis]\r```\rtemplate<\r    class AcceptHandler>\r``__deduced__``\rasync_accept(\r    AcceptHandler&& handler);\r```\r\r[heading Description]\r
+Perform the WebSocket handshake asynchronously in the server role. ```\rtemplate<\r    class AcceptHandler = net::default_completion_token_t<executor_type>>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_accept.overload1 async_accept]``(\r    AcceptHandler&& handler = net::default_completion_token_t< executor_type >{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_accept.overload1 more...]]``\r\rtemplate<\r    class __ConstBufferSequence__,\r    class AcceptHandler = net::default_completion_token_t<executor_type>>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_accept.overload2 async_accept]``(\r    ConstBufferSequence const& buffers,\r    AcceptHandler&& handler = net::default_completion_token_t< executor_type >{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_accept.overload2 more...]]``\r\rtemplate<\r    class __Body__,\r    class __Allocator__,\r    class AcceptHandler = net::default_completion_token_t<executor_type>>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_accept.overload3 async_accept]``(\r    http::request< Body, http::basic_fields< Allocator >> const& req,\r    AcceptHandler&& handler = net::default_completion_token_t< executor_type >{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_accept.overload3 more...]]``\r```\r[section:overload1 websocket::stream::async_accept (1 of 3 overloads)]\r
+Perform the WebSocket handshake asynchronously in the server role. \r[heading Synopsis]\r```\rtemplate<\r    class AcceptHandler = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_accept(\r    AcceptHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This initiating function is used to asynchronously begin performing the [@https://en.wikipedia.org/wiki/WebSocket#Protocol_handshake WebSocket handshake], required before messages can be sent and received. During the handshake, the client sends the Websocket Upgrade HTTP request, and the server replies with an HTTP response indicating the result of the handshake.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -6461,7 +6543,7 @@ The completion handler to invoke when the operation completes. The implementatio
 
 
 [endsect]\r[section:overload2 websocket::stream::async_accept (2 of 3 overloads)]\r
-Perform the WebSocket handshake asynchronously in the server role. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class AcceptHandler>\r``__deduced__``\rasync_accept(\r    ConstBufferSequence const& buffers,\r    AcceptHandler&& handler);\r```\r\r[heading Description]\r
+Perform the WebSocket handshake asynchronously in the server role. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class AcceptHandler = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_accept(\r    ConstBufferSequence const& buffers,\r    AcceptHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This initiating function is used to asynchronously begin performing the [@https://en.wikipedia.org/wiki/WebSocket#Protocol_handshake WebSocket handshake], required before messages can be sent and received. During the handshake, the client sends the Websocket Upgrade HTTP request, and the server replies with an HTTP response indicating the result of the handshake.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -6485,7 +6567,7 @@ The completion handler to invoke when the operation completes. The implementatio
 
 
 [endsect]\r[section:overload3 websocket::stream::async_accept (3 of 3 overloads)]\r
-Perform the WebSocket handshake asynchronously in the server role. \r[heading Synopsis]\r```\rtemplate<\r    class __Body__,\r    class __Allocator__,\r    class AcceptHandler>\r``__deduced__``\rasync_accept(\r    http::request< Body, http::basic_fields< Allocator >> const& req,\r    AcceptHandler&& handler);\r```\r\r[heading Description]\r
+Perform the WebSocket handshake asynchronously in the server role. \r[heading Synopsis]\r```\rtemplate<\r    class __Body__,\r    class __Allocator__,\r    class AcceptHandler = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_accept(\r    http::request< Body, http::basic_fields< Allocator >> const& req,\r    AcceptHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This initiating function is used to asynchronously begin performing the [@https://en.wikipedia.org/wiki/WebSocket#Protocol_handshake WebSocket handshake], required before messages can be sent and received. During the handshake, the client sends the Websocket Upgrade HTTP request, and the server replies with an HTTP response indicating the result of the handshake.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -6508,7 +6590,7 @@ The completion handler to invoke when the operation completes. The implementatio
 
 
 [endsect]\r[endsect]\r\r[section:async_close websocket::stream::async_close]\r[indexterm2 async_close..websocket::stream]\r
-Send a websocket close control frame asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class CloseHandler>\r``__deduced__``\rasync_close(\r    close_reason const& cr,\r    CloseHandler&& handler);\r```\r\r[heading Description]\r
+Send a websocket close control frame asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class CloseHandler = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_close(\r    close_reason const& cr,\r    CloseHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously send a [@https://tools.ietf.org/html/rfc6455#section-5.5.1 close frame], which begins the websocket closing handshake. The session ends when both ends of the connection have sent and received a close frame.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -6531,8 +6613,8 @@ The completion handler to invoke when the operation completes. The implementatio
 
 
 [endsect]\r[section:async_handshake websocket::stream::async_handshake]\r[indexterm2 async_handshake..websocket::stream]\r
-Perform the WebSocket handshake asynchronously in the client role. ```\rtemplate<\r    class HandshakeHandler>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_handshake.overload1 async_handshake]``(\r    string_view host,\r    string_view target,\r    HandshakeHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_handshake.overload1 more...]]``\r\rtemplate<\r    class HandshakeHandler>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_handshake.overload2 async_handshake]``(\r    response_type& res,\r    string_view host,\r    string_view target,\r    HandshakeHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_handshake.overload2 more...]]``\r```\r[section:overload1 websocket::stream::async_handshake (1 of 2 overloads)]\r
-Perform the WebSocket handshake asynchronously in the client role. \r[heading Synopsis]\r```\rtemplate<\r    class HandshakeHandler>\r``__deduced__``\rasync_handshake(\r    string_view host,\r    string_view target,\r    HandshakeHandler&& handler);\r```\r\r[heading Description]\r
+Perform the WebSocket handshake asynchronously in the client role. ```\rtemplate<\r    class HandshakeHandler = net::default_completion_token_t<executor_type>>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_handshake.overload1 async_handshake]``(\r    string_view host,\r    string_view target,\r    HandshakeHandler&& handler = net::default_completion_token_t< executor_type >{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_handshake.overload1 more...]]``\r\rtemplate<\r    class HandshakeHandler = net::default_completion_token_t<executor_type>>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_handshake.overload2 async_handshake]``(\r    response_type& res,\r    string_view host,\r    string_view target,\r    HandshakeHandler&& handler = net::default_completion_token_t< executor_type >{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_handshake.overload2 more...]]``\r```\r[section:overload1 websocket::stream::async_handshake (1 of 2 overloads)]\r
+Perform the WebSocket handshake asynchronously in the client role. \r[heading Synopsis]\r```\rtemplate<\r    class HandshakeHandler = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_handshake(\r    string_view host,\r    string_view target,\r    HandshakeHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This initiating function is used to asynchronously begin performing the [@https://en.wikipedia.org/wiki/WebSocket#Protocol_handshake WebSocket handshake], required before messages can be sent and received. During the handshake, the client sends the Websocket Upgrade HTTP request, and the server replies with an HTTP response indicating the result of the handshake.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -6567,7 +6649,7 @@ The completion handler to invoke when the operation completes. The implementatio
 
 
 [endsect]\r[section:overload2 websocket::stream::async_handshake (2 of 2 overloads)]\r
-Perform the WebSocket handshake asynchronously in the client role. \r[heading Synopsis]\r```\rtemplate<\r    class HandshakeHandler>\r``__deduced__``\rasync_handshake(\r    response_type& res,\r    string_view host,\r    string_view target,\r    HandshakeHandler&& handler);\r```\r\r[heading Description]\r
+Perform the WebSocket handshake asynchronously in the client role. \r[heading Synopsis]\r```\rtemplate<\r    class HandshakeHandler = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_handshake(\r    response_type& res,\r    string_view host,\r    string_view target,\r    HandshakeHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This initiating function is used to asynchronously begin performing the [@https://en.wikipedia.org/wiki/WebSocket#Protocol_handshake WebSocket handshake], required before messages can be sent and received. During the handshake, the client sends the Websocket Upgrade HTTP request, and the server replies with an HTTP response indicating the result of the handshake.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -6607,7 +6689,7 @@ The completion handler to invoke when the operation completes. The implementatio
 
 
 [endsect]\r[endsect]\r\r[section:async_ping websocket::stream::async_ping]\r[indexterm2 async_ping..websocket::stream]\r
-Send a websocket ping control frame asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __WriteHandler__>\r``__deduced__``\rasync_ping(\r    ping_data const& payload,\r    WriteHandler&& handler);\r```\r\r[heading Description]\r
+Send a websocket ping control frame asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __WriteHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_ping(\r    ping_data const& payload,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously send a [@https://tools.ietf.org/html/rfc6455#section-5.5.2 ping frame], which usually elicits an automatic pong control frame response from the peer.
 
 * The ping frame is written.
@@ -6624,7 +6706,7 @@ The completion handler to invoke when the operation completes. The implementatio
   );
 ```\rRegardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using `net::post`. \r  ]]\r]\r
 [endsect]\r[section:async_pong websocket::stream::async_pong]\r[indexterm2 async_pong..websocket::stream]\r
-Send a websocket pong control frame asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __WriteHandler__>\r``__deduced__``\rasync_pong(\r    ping_data const& payload,\r    WriteHandler&& handler);\r```\r\r[heading Description]\r
+Send a websocket pong control frame asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __WriteHandler__ = net::default_completion_token_t<executor_type>>\r``__deduced__``\rasync_pong(\r    ping_data const& payload,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously send a [@https://tools.ietf.org/html/rfc6455#section-5.5.3 pong frame], which is usually sent automatically in response to a ping frame from the remote peer.
 
 * The pong frame is written.
@@ -6642,7 +6724,7 @@ The completion handler to invoke when the operation completes. The implementatio
   );
 ```\rRegardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using `net::post`. \r  ]]\r]\r
 [endsect]\r[section:async_read websocket::stream::async_read]\r[indexterm2 async_read..websocket::stream]\r
-Read a complete message asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __DynamicBuffer__,\r    class __ReadHandler__>\r``__deduced__``\rasync_read(\r    DynamicBuffer& buffer,\r    ReadHandler&& handler);\r```\r\r[heading Description]\r
+Read a complete message asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __DynamicBuffer__,\r    class __ReadHandler__ = net::default_completion_token_t<                executor_type>>\r``__deduced__``\rasync_read(\r    DynamicBuffer& buffer,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously read a complete message.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -6675,8 +6757,8 @@ The completion handler to invoke when the operation completes. The implementatio
   );
 ```\rRegardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using `net::post`. \r  ]]\r]\r
 [endsect]\r[section:async_read_some websocket::stream::async_read_some]\r[indexterm2 async_read_some..websocket::stream]\r
-Read some message data asynchronously. ```\rtemplate<\r    class __DynamicBuffer__,\r    class __ReadHandler__>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_read_some.overload1 async_read_some]``(\r    DynamicBuffer& buffer,\r    std::size_t limit,\r    ReadHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_read_some.overload1 more...]]``\r\rtemplate<\r    class __MutableBufferSequence__,\r    class __ReadHandler__>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_read_some.overload2 async_read_some]``(\r    MutableBufferSequence const& buffers,\r    ReadHandler&& handler);\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_read_some.overload2 more...]]``\r```\r[section:overload1 websocket::stream::async_read_some (1 of 2 overloads)]\r
-Read some message data asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __DynamicBuffer__,\r    class __ReadHandler__>\r``__deduced__``\rasync_read_some(\r    DynamicBuffer& buffer,\r    std::size_t limit,\r    ReadHandler&& handler);\r```\r\r[heading Description]\r
+Read some message data asynchronously. ```\rtemplate<\r    class __DynamicBuffer__,\r    class __ReadHandler__ = net::default_completion_token_t<                executor_type>>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_read_some.overload1 async_read_some]``(\r    DynamicBuffer& buffer,\r    std::size_t limit,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type >{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_read_some.overload1 more...]]``\r\rtemplate<\r    class __MutableBufferSequence__,\r    class __ReadHandler__ = net::default_completion_token_t<                executor_type>>\r``__deduced__``\r``[link beast.ref.boost__beast__websocket__stream.async_read_some.overload2 async_read_some]``(\r    MutableBufferSequence const& buffers,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type >{});\r  ``[''''&raquo;''' [link beast.ref.boost__beast__websocket__stream.async_read_some.overload2 more...]]``\r```\r[section:overload1 websocket::stream::async_read_some (1 of 2 overloads)]\r
+Read some message data asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __DynamicBuffer__,\r    class __ReadHandler__ = net::default_completion_token_t<                executor_type>>\r``__deduced__``\rasync_read_some(\r    DynamicBuffer& buffer,\r    std::size_t limit,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously read some message data.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -6710,7 +6792,7 @@ The completion handler to invoke when the operation completes. The implementatio
   );
 ```\rRegardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using `net::post`. \r  ]]\r]\r
 [endsect]\r[section:overload2 websocket::stream::async_read_some (2 of 2 overloads)]\r
-Read some message data asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __MutableBufferSequence__,\r    class __ReadHandler__>\r``__deduced__``\rasync_read_some(\r    MutableBufferSequence const& buffers,\r    ReadHandler&& handler);\r```\r\r[heading Description]\r
+Read some message data asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __MutableBufferSequence__,\r    class __ReadHandler__ = net::default_completion_token_t<                executor_type>>\r``__deduced__``\rasync_read_some(\r    MutableBufferSequence const& buffers,\r    ReadHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously read some message data.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -6743,7 +6825,7 @@ The completion handler to invoke when the operation completes. The implementatio
   );
 ```\rRegardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using `net::post`. \r  ]]\r]\r
 [endsect]\r[endsect]\r\r[section:async_write websocket::stream::async_write]\r[indexterm2 async_write..websocket::stream]\r
-Write a complete message asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class __WriteHandler__>\r``__deduced__``\rasync_write(\r    ConstBufferSequence const& buffers,\r    WriteHandler&& handler);\r```\r\r[heading Description]\r
+Write a complete message asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class __WriteHandler__ = net::default_completion_token_t<                executor_type>>\r``__deduced__``\rasync_write(\r    ConstBufferSequence const& buffers,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously write a complete message.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -6764,7 +6846,7 @@ The completion handler to invoke when the operation completes. The implementatio
   );
 ```\rRegardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using `net::post`. \r  ]]\r]\r
 [endsect]\r[section:async_write_some websocket::stream::async_write_some]\r[indexterm2 async_write_some..websocket::stream]\r
-Write some message data asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class __WriteHandler__>\r``__deduced__``\rasync_write_some(\r    bool fin,\r    ConstBufferSequence const& buffers,\r    WriteHandler&& handler);\r```\r\r[heading Description]\r
+Write some message data asynchronously. \r[heading Synopsis]\r```\rtemplate<\r    class __ConstBufferSequence__,\r    class __WriteHandler__ = net::default_completion_token_t<                executor_type>>\r``__deduced__``\rasync_write_some(\r    bool fin,\r    ConstBufferSequence const& buffers,\r    WriteHandler&& handler = net::default_completion_token_t< executor_type >{});\r```\r\r[heading Description]\r
 This function is used to asynchronously write part of a message.
 This call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
 
@@ -7580,7 +7662,7 @@ The size of the uncompressed data.\r  ]]\r]
 [heading Return Value]
 The maximum number of resulting compressed bytes. 
 \r\r\rConvenience header [include_file boost/beast/zlib.hpp]\r\r[endsect]\r[section:boost__beast__zlib__error zlib::error]\r[indexterm1 zlib::error]\r
-Error codes returned by the deflate codecs. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/zlib/error.hpp]\r\r\r```\renum error\r```\r\r[indexterm2 need_buffers..zlib::error]\r[indexterm2 end_of_stream..zlib::error]\r[indexterm2 stream_error..zlib::error]\r[indexterm2 invalid_block_type..zlib::error]\r[indexterm2 invalid_stored_length..zlib::error]\r[indexterm2 too_many_symbols..zlib::error]\r[indexterm2 invalid_code_lenths..zlib::error]\r[indexterm2 invalid_bit_length_repeat..zlib::error]\r[indexterm2 missing_eob..zlib::error]\r[indexterm2 invalid_literal_length..zlib::error]\r[indexterm2 invalid_distance_code..zlib::error]\r[indexterm2 invalid_distance..zlib::error]\r[indexterm2 over_subscribed_length..zlib::error]\r[indexterm2 incomplete_length_set..zlib::error]\r[indexterm2 general..zlib::error]\r[heading Values]\r[table [[Name][Description]]\r  [[[^need_buffers]][Additional buffers are required. \r\rThis error indicates that one or both of the buffers
+Error codes returned by the deflate codecs. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/zlib/error.hpp]\r\r\r```\renum error\r```\r\r[indexterm2 need_buffers..zlib::error]\r[indexterm2 end_of_stream..zlib::error]\r[indexterm2 need_dict..zlib::error]\r[indexterm2 stream_error..zlib::error]\r[indexterm2 invalid_block_type..zlib::error]\r[indexterm2 invalid_stored_length..zlib::error]\r[indexterm2 too_many_symbols..zlib::error]\r[indexterm2 invalid_code_lengths..zlib::error]\r[indexterm2 invalid_code_lenths..zlib::error]\r[indexterm2 invalid_bit_length_repeat..zlib::error]\r[indexterm2 missing_eob..zlib::error]\r[indexterm2 invalid_literal_length..zlib::error]\r[indexterm2 invalid_distance_code..zlib::error]\r[indexterm2 invalid_distance..zlib::error]\r[indexterm2 over_subscribed_length..zlib::error]\r[indexterm2 incomplete_length_set..zlib::error]\r[indexterm2 general..zlib::error]\r[heading Values]\r[table [[Name][Description]]\r  [[[^need_buffers]][Additional buffers are required. \r\rThis error indicates that one or both of the buffers
 provided buffers do not have sufficient available bytes
 to make forward progress.
 
@@ -7588,13 +7670,19 @@ This does not always indicate a failure condition.
 
 @note This is the same as `Z_BUF_ERROR` returned by ZLib.
  ]]\r  [[[^end_of_stream]][End of stream reached. \r\r@note This is the same as `Z_STREAM_END` returned by ZLib.
+ ]]\r  [[[^need_dict]][Preset dictionary required. \r\rThis error indicates that a preset dictionary was not provided and is now
+needed at this point.
+
+This does not always indicate a failure condition.
+
+@note This is the same as `Z_NEED_DICT` returned by ZLib.
  ]]\r  [[[^stream_error]][Invalid stream or parameters. \r\rThis error is returned when invalid parameters are passed,
 or the operation being performed is not consistent with the
 state of the stream. For example, attempting to write data
 when the end of stream is already reached.
 
 @note This is the same as `Z_STREAM_ERROR` returned by ZLib.
- ]]\r  [[[^invalid_block_type]][Invalid block type. \r\r]]\r  [[[^invalid_stored_length]][Invalid stored block length. \r\r]]\r  [[[^too_many_symbols]][Too many length or distance symbols. \r\r]]\r  [[[^invalid_code_lenths]][Invalid code lengths. \r\r]]\r  [[[^invalid_bit_length_repeat]][Invalid bit length repeat. \r\r]]\r  [[[^missing_eob]][Missing end of block code. \r\r]]\r  [[[^invalid_literal_length]][Invalid literal/length code. \r\r]]\r  [[[^invalid_distance_code]][Invalid distance code. \r\r]]\r  [[[^invalid_distance]][Invalid distance too far back. \r\r]]\r  [[[^over_subscribed_length]][Over-subscribed length code. \r\r]]\r  [[[^incomplete_length_set]][Incomplete length set. \r\r]]\r  [[[^general]][general error \r\r]]\r]\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/zlib.hpp]\r\r[endsect]\r[section:boost__beast__zlib__inflate_stream zlib::inflate_stream]\r
+ ]]\r  [[[^invalid_block_type]][Invalid block type. \r\r]]\r  [[[^invalid_stored_length]][Invalid stored block length. \r\r]]\r  [[[^too_many_symbols]][Too many length or distance symbols. \r\r]]\r  [[[^invalid_code_lengths]][Invalid code lengths. \r\r]]\r  [[[^invalid_code_lenths]][\r\r]]\r  [[[^invalid_bit_length_repeat]][Invalid bit length repeat. \r\r]]\r  [[[^missing_eob]][Missing end of block code. \r\r]]\r  [[[^invalid_literal_length]][Invalid literal/length code. \r\r]]\r  [[[^invalid_distance_code]][Invalid distance code. \r\r]]\r  [[[^invalid_distance]][Invalid distance too far back. \r\r]]\r  [[[^over_subscribed_length]][Over-subscribed length code. \r\r]]\r  [[[^incomplete_length_set]][Incomplete length set. \r\r]]\r  [[[^general]][general error \r\r]]\r]\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/zlib.hpp]\r\r[endsect]\r[section:boost__beast__zlib__inflate_stream zlib::inflate_stream]\r
 Raw deflate stream decompressor. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/zlib/inflate_stream.hpp]\r\r\r\r```\rclass inflate_stream :\r    private inflate_stream\r```\r[heading Member Functions]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__zlib__inflate_stream.clear [*clear]]]\r    [\r      Put the stream in a newly constructed state. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__zlib__inflate_stream.inflate_stream [*inflate_stream]]]\r    [\r      Construct a raw deflate decompression stream. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__zlib__inflate_stream.reset [*reset]]]\r    [\r      Reset the stream. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__zlib__inflate_stream.write [*write]]]\r    [\r      Decompress input and produce output. \r    ]\r  ]\r]\r\r[heading Description]\r
 This implements a raw deflate stream decompressor. The deflate protocol is a compression protocol described in "DEFLATE Compressed Data Format Specification version 1.3" located here: [@https://tools.ietf.org/html/rfc1951 https://tools.ietf.org/html/rfc1951]
 The implementation is a refactored port to C++ of ZLib's "inflate". A more detailed description of ZLib is at [@http://zlib.net/ http://zlib.net/].
@@ -7622,7 +7710,7 @@ The flush parameter may be `Flush::none`, `Flush::sync`, `Flush::finish`, `Flush
 The `Flush::block` option assists in appending to or combining deflate streams. Also to assist in this, on return `write` will set `zs.data_type` to the number of unused bits in the last byte taken from `zs.next_in`, plus 64 if `write` is currently decoding the last block in the deflate stream, plus 128 if `write` returned immediately after decoding an end-of-block code or decoding the complete header up to just before the first byte of the deflate stream. The end-of-block will not be indicated until all of the uncompressed data from that block has been written to `zs.next_out`. The number of unused bits may in general be greater than seven, except when bit 7 of `zs.data_type` is set, in which case the number of unused bits will be less than eight. `zs.data_type` is set as noted here every time `write` returns for all flush options, and so can be used to determine the amount of currently consumed input in bits.
 The `Flush::trees` option behaves as `Flush::block` does, but it also returns when the end of each deflate block header is reached, before any actual data in that block is decoded. This allows the caller to determine the length of the deflate block header for later use in random access within a deflate block. 256 is added to the value of `zs.data_type` when `write` returns immediately after reaching the end of the deflate block header.
 `write` should normally be called until it returns `error::end_of_stream` or another error. However if all decompression is to be performed in a single step (a single call of `write`), the parameter flush should be set to `Flush::finish`. In this case all pending input is processed and all pending output is flushed; `zs.avail_out` must be large enough to hold all of the uncompressed data for the operation to complete. (The size of the uncompressed data may have been saved by the compressor for this purpose.) The use of `Flush::finish` is not required to perform an inflation in one step. However it may be used to inform inflate that a faster approach can be used for the single call. `Flush::finish` also informs inflate to not maintain a sliding window if the stream completes, which reduces inflate's memory footprint. If the stream does not complete, either because not all of the stream is provided or not enough output space is provided, then a sliding window will be allocated and `write` can be called again to continue the operation as if `Flush::none` had been used.
-In this implementation, `write` always flushes as much output as possible to the output buffer, and always uses the faster approach on the first call. So the effects of the flush parameter in this implementation are on the return value of `write` as noted below, when `write` returns early when `Flush::block` or `Flush::trees` is used, and when `write` avoids the allocation of memory for a sliding window when `Flush::finsih` is used.
+In this implementation, `write` always flushes as much output as possible to the output buffer, and always uses the faster approach on the first call. So the effects of the flush parameter in this implementation are on the return value of `write` as noted below, when `write` returns early when `Flush::block` or `Flush::trees` is used, and when `write` avoids the allocation of memory for a sliding window when `Flush::finish` is used.
 If a preset dictionary is needed after this call, `write` sets `zs.adler` to the Adler-32 checksum of the dictionary chosen by the compressor and returns `error::need_dictionary`; otherwise it sets `zs.adler` to the Adler-32 checksum of all output produced so far (that is, `zs.total_out bytes`) and returns no error, `error::end_of_stream`, or an error code as described below. At the end of the stream, `write` checks that its computed adler32 checksum is equal to that saved by the compressor and returns `error::end_of_stream` only if the checksum is correct.
 This function returns no error if some progress has been made (more input processed or more output produced), `error::end_of_stream` if the end of the compressed data has been reached and all uncompressed output has been produced, `error::need_dictionary` if a preset dictionary is needed at this point, `error::invalid_data` if the input data was corrupted (input stream not conforming to the zlib format or incorrect check value), `error::stream_error` if the stream structure was inconsistent (for example if `zs.next_in` or `zs.next_out` was null), `error::need_buffers` if no progress is possible or if there was not enough room in the output buffer when `Flush::finish` is used. Note that `error::need_buffers` is not fatal, and `write` can be called again with more input and more output space to continue decompressing. [endsect]\r\r\r\rConvenience header [include_file boost/beast/zlib.hpp]\r\r[endsect]\r\r\r\r[section:boost__beast__zlib__kind zlib::kind]\r[indexterm1 zlib::kind]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/zlib/zlib.hpp]\r\r\r```\renum kind\r```\r\r[indexterm2 binary..zlib::kind]\r[indexterm2 text..zlib::kind]\r[indexterm2 unknown..zlib::kind]\r[heading Values]\r[table [[Name][Description]]\r  [[[^binary]][\r\r]]\r  [[[^text]][\r\r]]\r  [[[^unknown]][\r\r]]\r]\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/zlib.hpp]\r\r[endsect]\r[section:boost__beast__zlib__uInt zlib::uInt]\r[indexterm1 zlib::uInt]\r\r[heading Synopsis]\r\rDefined in header [include_file boost/beast/zlib/zlib.hpp]\r\r\r\r```\rusing uInt = unsigned int;\r```\r\r[heading Description]\r\r\r\rConvenience header [include_file boost/beast/zlib.hpp]\r\r[endsect]\r[section:boost__beast__zlib__z_params zlib::z_params]\r
 Deflate codec parameters. \r[heading Synopsis]\r\rDefined in header [include_file boost/beast/zlib/zlib.hpp]\r\r\r\r```\rstruct z_params\r```\r[heading Data Members]\r[table [[Name][Description]]\r  [\r    [[link beast.ref.boost__beast__zlib__z_params.avail_in [*avail_in]]]\r    [\r      The number of bytes of input available at next_in. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__zlib__z_params.avail_out [*avail_out]]]\r    [\r      The remaining bytes of space at next_out. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__zlib__z_params.data_type [*data_type]]]\r    [\r      \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__zlib__z_params.next_in [*next_in]]]\r    [\r      A pointer to the next input byte. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__zlib__z_params.next_out [*next_out]]]\r    [\r      A pointer to the next output byte. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__zlib__z_params.total_in [*total_in]]]\r    [\r      The total number of input bytes read so far. \r    ]\r  ]\r  [\r    [[link beast.ref.boost__beast__zlib__z_params.total_out [*total_out]]]\r    [\r      The total number of bytes output so far. \r    ]\r  ]\r]\r\r[heading Description]\r