13 Asynchronous model [async]

13.14 Class template executor_binder [async.exec.binder]

13.14.6 Class template partial specialization associated_executor [async.exec.binder.assoc.exec]

namespace std {
namespace experimental {
namespace net {
inline namespace v1 {

  template<class T, class Executor, class Executor1>
    struct associated_executor<executor_binder<T, Executor>, Executor1>
  {
    using type = Executor;

    static type get(const executor_binder<T, Executor>& b,
                    const Executor1& e = Executor1()) noexcept;
  };

} // inline namespace v1
} // namespace net
} // namespace experimental
} // namespace std

static type get(const executor_binder<T, Executor>& b, const Executor1& e = Executor1()) noexcept;

Returns: b.get_executor().