Difference between revisions of "cpp/coroutine/noop coroutine promise"
From cppreference.com
m (+/es) |
m (→See also) |
||
Line 30: | Line 30: | ||
{{dsc end}} | {{dsc end}} | ||
− | {{langlinks|es|ja|zh}} | + | {{langlinks|es|ja|ru|zh}} |
Revision as of 04:57, 5 December 2022
Defined in header <coroutine>
|
||
struct noop_coroutine_promise {}; |
(since C++20) | |
noop_coroutine_promise
is the promise type of no-op coroutines.
A no-op coroutine behaves as if it
- does nothing other than the control flow of a coroutine, and
- is suspended immediately after beginning and resumption, and
- has a coroutine state such that destroying the state is no-op, and
- never reaches its final suspended point if there is any std::coroutine_handle referring to it.
This section is incomplete Reason: more precise wording |
No-op coroutines can be started by std::noop_coroutine, and controlled by the coroutine handle it returns. The returned coroutine handle is of type std::noop_coroutine_handle, which is a synonym for std::coroutine_handle<std::noop_coroutine_promise>.
Some operations of a no-op coroutines are determined no-op at compile time through the type std::noop_coroutine_handle
.
This section is incomplete Reason: usage of no-op coroutines |
Example
This section is incomplete Reason: no example |
See also
(C++20) |
creates a coroutine handle that has no observable effects when resumed or destroyed (function) |
(C++20) |
std::coroutine_handle<std::noop_coroutine_promise>, intended to refer to a no-op coroutine (typedef) |