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