namespace std {
template<>
struct coroutine_handle<noop_coroutine_promise> : coroutine_handle<>
{
constexpr explicit operator bool() const noexcept;
constexpr bool done() const noexcept;
constexpr void operator()() const noexcept;
constexpr void resume() const noexcept;
constexpr void destroy() const noexcept;
noop_coroutine_promise& promise() const noexcept;
constexpr void* address() const noexcept;
private:
coroutine_handle(unspecified);
};
}
constexpr explicit operator bool() const noexcept;
constexpr bool done() const noexcept;
constexpr void operator()() const noexcept;
constexpr void resume() const noexcept;
constexpr void destroy() const noexcept;
Remarks:
If
noop_coroutine_handle is converted to
coroutine_handle<>,
calls to
operator(),
resume and
destroy on that handle
will also have no observable effects
. noop_coroutine_promise& promise() const noexcept;
Returns:
A reference to the promise object associated with this
coroutine handle
. constexpr void* address() const noexcept;
Remarks:
A
noop_coroutine_handle's
ptr is always a
non-null pointer value
.