#### io_context::executor_type::dispatch

Request the `io_context` to invoke the given function object.

    template<
        typename Function,
        typename Allocator>
    void dispatch(
        Function && f,
        const Allocator & a) const;

This function is used to ask the `io_context` to execute the given function object. If the current thread is running the `io_context`, `dispatch()` executes the function before returning. Otherwise, the function will be scheduled to run on the `io_context`.

###### Parameters

f

  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();

a

  An allocator that may be used by the executor to allocate the internal storage needed for function invocation.