- coroutine[meta header]
- std[meta namespace]
- class[meta id-type]
- cpp20[meta cpp]
namespace std {
struct noop_coroutine_promise {};
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);
};
using noop_coroutine_handle = coroutine_handle<noop_coroutine_promise>;
}
- coroutine_handle<>[link coroutine_handle.md]
- coroutine_handle<noop_coroutine_promise>[link coroutine_handle.md]
- unspecified[italic]
中断/再開時に何もしないコルーチンへのハンドル。
「何もしないコルーチン」は、非対称コルーチン動作と対称コルーチン動作を実行時に制御するケースで利用される。
名前 | 説明 | 対応バージョン |
---|---|---|
operator bool |
true を返す |
C++20 |
done |
false を返す |
C++20 |
名前 | 説明 | 対応バージョン |
---|---|---|
operator() |
何もしない | C++20 |
resume |
何もしない | C++20 |
destroy |
何もしない | C++20 |
名前 | 説明 | 対応バージョン |
---|---|---|
promise |
Promiseオブジェクトへの参照を返す | C++20 |
名前 | 説明 | 対応バージョン |
---|---|---|
address |
コルーチンハンドルに対応するアドレス値を返す | C++20 |
- C++20
- Clang: ??
- GCC: 11.1
- Visual C++: ??