33 Execution control library [exec]

33.13 Coroutine utilities [exec.coro.util]

33.13.6 execution​::​task [exec.task]

33.13.6.3 task members [task.members]

task(task&& other) noexcept;
Effects: Initializes handle with exchange(other.handle, {}).
~task();
Effects: Equivalent to: if (handle) handle.destroy();
template<receiver R> state<R> connect(R&& recv);
Preconditions: bool(handle) is true.
Effects: Equivalent to: return state<R>(exchange(handle, {}), std​::​forward<R>(recv));