std::coroutine_handle::coroutine_handle - cppreference.com (original) (raw)
| 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.
[edit] Parameters
| other | - | another coroutine_handle to copy |
|---|
[edit] 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.
[edit] 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] |