std::coroutine_handle<Promise>::coroutine_handle - cppreference.com

From cppreference.com

constexpr coroutine_handle() noexcept;

(1) (since C++20)

constexpr coroutine_handle( std::nullptr_t ) noexcept;

(2) (since C++20)

coroutine_handle( const coroutine_handle& other ) = default;

(3) (since C++20)

coroutine_handle( coroutine_handle&& other ) = default;

(4) (since C++20)

Creates a coroutine_handle that does not refer a coroutine, or copies a coroutine_handle.

1,2) Initializes the underlying address ptr to nullptr. After construction, address() returns nullptr, and the coroutine_handle does not refer a coroutine. These constructors are not declared for the specialization std::coroutine_handle<std::noop_coroutine_promise>.

3,4) Copies the underlying address. The copy constructor and move constructor are equivalent to implicitly declared ones.

Parameters

other - another coroutine_handle to copy

Notes

std::coroutine_handle<std::noop_coroutine_promise> is neither default constructible nor constructible from std::nullptr_t. std::noop_coroutine can be used to create a new std::coroutine_handle<std::noop_coroutine_promise>.

Static member functions from_promise and from_address can also create a coroutine_handle.

See also

creates a coroutine_handle from the promise object of a coroutine
(public static member function) [edit]
imports a coroutine from a pointer
(public static member function) [edit]
creates a coroutine handle that has no observable effects when resumed or destroyed
(function) [edit]