diff --git a/asio/src/doc/reference.qbk b/asio/src/doc/reference.qbk index 7f2c3264..00eb3240 100644 --- a/asio/src/doc/reference.qbk +++ b/asio/src/doc/reference.qbk @@ -64,13 +64,138 @@ +[section:any_io_executor any_io_executor] + +[indexterm1 asio.indexterm.any_io_executor..any_io_executor] +Polymorphic executor type for use with I/O objects. + + + typedef execution::any_executor<...> any_io_executor; + + +[heading Member Functions] +[table + [[Name][Description]] + + [ + [[link asio.reference.execution__any_executor.any_executor [*any_executor]]] + [Default constructor. + [hr] + Copy constructor. + [hr] + Move constructor. + [hr] + Construct to point to the same target as another any_executor. + [hr] + Construct a polymorphic wrapper for the specified executor. ] + ] + + [ + [[link asio.reference.execution__any_executor.context [*context]]] + [Obtain the underlying execution context. ] + ] + + [ + [[link asio.reference.execution__any_executor.execute [*execute]]] + [Execute the function on the target executor. ] + ] + + [ + [[link asio.reference.execution__any_executor.operator_bool [*operator bool]]] + [Determine whether the wrapper has a target executor. ] + ] + + [ + [[link asio.reference.execution__any_executor.operator_eq_ [*operator=]]] + [Assignment operator. + [hr] + Move assignment operator. + [hr] + Assignment operator to create a polymorphic wrapper for the specified executor. ] + ] + + [ + [[link asio.reference.execution__any_executor.prefer [*prefer]]] + [Obtain a polymorphic wrapper with the specified property. ] + ] + + [ + [[link asio.reference.execution__any_executor.query [*query]]] + [Obtain the value associated with the specified property. ] + ] + + [ + [[link asio.reference.execution__any_executor.require [*require]]] + [Obtain a polymorphic wrapper with the specified property. ] + ] + + [ + [[link asio.reference.execution__any_executor.target [*target]]] + [Get a pointer to the target executor. ] + ] + + [ + [[link asio.reference.execution__any_executor.target_type [*target_type]]] + [Get the type of the target executor. ] + ] + + [ + [[link asio.reference.execution__any_executor._any_executor [*~any_executor]]] + [Destructor. ] + ] + +] + +[heading Related Functions] +[table + [[Name][Description]] + + [ + [[link asio.reference.execution__any_executor.operator_not__eq_ [*operator!=]]] + [Inequality operator. ] + ] + + [ + [[link asio.reference.execution__any_executor.operator_eq__eq_ [*operator==]]] + [Equality operator. ] + ] + +] + + +The `any_io_executor` type is a polymorphic executor that supports the set of properties required by I/O objects. It is defined as the [link asio.reference.execution__any_executor `execution::any_executor`] class template parameterised as follows: + + execution::any_executor< + execution::context_as_t, + execution::blocking_t::never_t, + execution::prefer_only, + execution::prefer_only, + execution::prefer_only, + execution::prefer_only, + execution::prefer_only + > + + + + +[heading Requirements] + +['Header: ][^asio/any_io_executor.hpp] + +['Convenience header: ][^asio.hpp] + + +[endsect] + + + [section:asio_handler_allocate asio_handler_allocate] [indexterm1 asio.indexterm.asio_handler_allocate..asio_handler_allocate] -Default allocation function for handlers. +(Deprecated: Use the [link asio.reference.associated_allocator `associated_allocator`] trait.) Default allocation function for handlers. - void * asio_handler_allocate( + asio_handler_allocate_is_deprecated asio_handler_allocate( std::size_t size, ... ); @@ -126,7 +251,7 @@ All temporary objects associated with a handler will be deallocated before the u Default deallocation function for handlers. - void asio_handler_deallocate( + asio_handler_deallocate_is_deprecated asio_handler_deallocate( void * pointer, std::size_t size, ... ); @@ -152,14 +277,14 @@ The default implementation of these allocation hooks uses `operator new` and `op [section:asio_handler_invoke asio_handler_invoke] [indexterm1 asio.indexterm.asio_handler_invoke..asio_handler_invoke] -Default invoke function for handlers. +(Deprecated: Use the [link asio.reference.associated_executor `associated_executor`] trait.) Default invoke function for handlers. Default handler invocation hook used for non-const function objects. template< typename Function> - void ``[link asio.reference.asio_handler_invoke.overload1 asio_handler_invoke]``( + asio_handler_invoke_is_deprecated ``[link asio.reference.asio_handler_invoke.overload1 asio_handler_invoke]``( Function & function, ... ); `` [''''»''' [link asio.reference.asio_handler_invoke.overload1 more...]]`` @@ -168,7 +293,7 @@ Default handler invocation hook used for const function objects. template< typename Function> - void ``[link asio.reference.asio_handler_invoke.overload2 asio_handler_invoke]``( + asio_handler_invoke_is_deprecated ``[link asio.reference.asio_handler_invoke.overload2 asio_handler_invoke]``( const Function & function, ... ); `` [''''»''' [link asio.reference.asio_handler_invoke.overload2 more...]]`` @@ -219,7 +344,7 @@ Default handler invocation hook used for non-const function objects. template< typename Function> - void asio_handler_invoke( + asio_handler_invoke_is_deprecated asio_handler_invoke( Function & function, ... ); @@ -237,7 +362,7 @@ Default handler invocation hook used for const function objects. template< typename Function> - void asio_handler_invoke( + asio_handler_invoke_is_deprecated asio_handler_invoke( const Function & function, ... ); @@ -5439,7 +5564,7 @@ The return type of a coroutine or asynchronous operation. template< typename T, - typename ``[link asio.reference.Executor1 Executor]`` = executor> + typename ``[link asio.reference.Executor1 Executor]`` = any_io_executor> class awaitable @@ -12431,7 +12556,7 @@ Provides waitable timer functionality. template< typename Time, typename ``[link asio.reference.TimeTraits TimeTraits]`` = asio::time_traits