[coroutine.handle.noop] (original) (raw)
17 Language support library [support]
17.12 Coroutines [support.coroutine]
17.12.4 No-op coroutines [coroutine.noop]
17.12.4.2 Class coroutine_handle<noop_coroutine_promise> [coroutine.handle.noop]
namespace std { template<> struct coroutine_handle : 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); }; }
17.12.4.2.2 Resumption [coroutine.handle.noop.resumption]
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.
17.12.4.2.3 Promise access [coroutine.handle.noop.promise]
noop_coroutine_promise& promise() const noexcept;
Returns:A reference to the promise object associated with this coroutine handle.