Create an executor_work_guard
object.
template< typename Executor> executor_work_guard< Executor > make_work_guard( const Executor & ex, constraint_t< is_executor< Executor >::value||execution::is_executor< Executor >::value > = 0); » more... template< typename ExecutionContext> executor_work_guard< typename ExecutionContext::executor_type > make_work_guard( ExecutionContext & ctx, constraint_t< is_convertible< ExecutionContext &, execution_context & >::value > = 0); » more... template< typename T> executor_work_guard< typename constraint_t< !is_executor< T >::value &&!execution::is_executor< T >::value &&!is_convertible< T &, execution_context & >::value, associated_executor< T > >::type > make_work_guard( const T & t); » more... template< typename T, typename Executor> executor_work_guard< associated_executor_t< T, Executor > > make_work_guard( const T & t, const Executor & ex, constraint_t< is_executor< Executor >::value||execution::is_executor< Executor >::value > = 0); » more... template< typename T, typename ExecutionContext> executor_work_guard< associated_executor_t< T, typename ExecutionContext::executor_type > > make_work_guard( const T & t, ExecutionContext & ctx, constraint_t< !is_executor< T >::value > = 0, constraint_t< !execution::is_executor< T >::value > = 0, constraint_t< !is_convertible< T &, execution_context & >::value > = 0, constraint_t< is_convertible< ExecutionContext &, execution_context & >::value > = 0); » more...
Header: asio/executor_work_guard.hpp
Convenience header: asio.hpp