cpp/thread/packaged task/packaged task

Constructs a new object.

@1@ Constructs a object with no task and no shared state. @2,3@ Constructs a object with a shared state and a copy of the task, initialized with.
 * participate in overload resolution if is the same type as.
 * The program is ill-formed if is ill-formed when treated as an unevaluated operand.
 * The behavior is undefined if the invocation on a copy of behaves different from that on.

@4@ The copy constructor is deleted, is move-only. @5@ Constructs a with the shared state and task formerly owned by, leaving  with no shared state and a moved-from task.

Exceptions
@2@ Any exceptions thrown by copy/move constructor of and possibly std if the allocation fails.

@3@ Any exceptions thrown by copy/move constructor of and by the allocator's  function if memory allocation fails.