std::coroutine_handle<Promise>::operator(), std::coroutine_handle<Promise>::
From cppreference.com
< cpp | coroutine | coroutine handle
C++
Utilities library
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Coroutine support
| Coroutine traits | ||||
|
(C++20)
|
||||
| Coroutine handle | ||||
|
(C++20)
|
||||
| No-op coroutines | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| Trivial awaitables | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| Range generators | ||||
|
(C++23)
|
std::coroutine_handle
| Member functions | ||||
| Conversion | ||||
| Observers | ||||
| Control | ||||
coroutine_handle::operator()coroutine_handle::resume | ||||
| Promise access | ||||
| Export/import | ||||
| Non-member functions | ||||
| Helper classes | ||||
Member of other specializations |
||
|
void operator(
)
(
)
const
;
void resume( ) const ; |
(1) | (since C++20) |
Member of specialization std::coroutine_handle<std::noop_coroutine_promise> |
||
|
constexpr
void operator(
)
(
)
const
noexcept
;
constexpr void resume( ) const noexcept ; |
(2) | (since C++20) |
1) Resumes the execution of the coroutine to which *this
2) Does nothing.
The behavior is undefined if *this
Resumption of a coroutine on an execution agent other than the one on which it was suspended has implementation-defined behavior unless each execution agent either is a thread represented by std::thread or std::jthread, or is the thread executing main
Parameters
(none)
Return value
(none)
Exceptions
If an exception is thrown from the execution of the coroutine, the exception is caught and unhandled_exception is called on the coroutine's promise object. If the call to unhandled_exception
Notes
A coroutine that is resumed on a different execution agent should avoid relying on consistent thread identity throughout, such as holding a mutex object across a suspend point.
Example
| This section is incomplete Reason: no example |
See also
| destroys a coroutine (public member function) |