13 Asynchronous model [async]

13.11 uses_executor [async.uses.executor]

13.11.2 uses-executor construction [async.uses.executor.cons]

Uses-executor construction with executor Executor refers to the construction of an object obj of type T, using constructor arguments v1, v2, ..., vN of types V1, V2, ..., VN, respectively, and an executor ex of type Executor, according to the following rules:

  • if uses_executor_v<T, Executor> is true and is_constructible<T, executor_arg_t, Executor, V1, V2, ..., VN>::value is true, then obj is initialized as obj(executor_arg, ex, v1, v2, ..., vN);

  • otherwise, obj is initialized as obj(v1, v2, ..., vN).