...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Request
the io_context
to invoke the given function object.
template< typename Function, typename Allocator> void defer( Function && f, const Allocator & a) const;
This function is used to ask the io_context
to execute the given function object. The function object will never be
executed inside defer()
. Instead, it will be scheduled to
run on the io_context
.
If the current thread belongs to the io_context
,
defer()
will delay scheduling the function object until the
current thread returns control to the pool.
The function object to be called. The executor will make a copy of the handler object as required. The function signature of the function object must be:
void function();
An allocator that may be used by the executor to allocate the internal storage needed for function invocation.