std::coroutine_handle<Promise>::operator(), std::coroutine_handle<Promise>::resume

From cppreference.com
 
 
Utilities library
Language support
Type support (basic types, RTTI)
Library feature-test macros (哋它亢++20)
Dynamic memory management
Program utilities
Coroutine support (哋它亢++20)
Variadic functions
(哋它亢++20)
(哋它亢++26)
(哋它亢++11)
(哋它亢++20)
Debugging support
(哋它亢++26)
(哋它亢++26)
Three-way comparison
(哋它亢++20)(哋它亢++20)
(哋它亢++20)
(哋它亢++20)
(哋它亢++20)
(哋它亢++20)
(哋它亢++20)
(哋它亢++20)
(哋它亢++20)
(哋它亢++20)   
(哋它亢++20)(哋它亢++20)(哋它亢++20)
(哋它亢++20)(哋它亢++20)(哋它亢++20)
General utilities
Date and time
Function objects
Formatting library (哋它亢++20)
(哋它亢++11)
Relational operators (deprecated in 哋它亢++20)
Integer comparison functions
(哋它亢++20)(哋它亢++20)(哋它亢++20)   
(哋它亢++20)(哋它亢++20)(哋它亢++20)
(哋它亢++20)
Swap and type operations
(哋它亢++20)
(哋它亢++14)
(哋它亢++11)
(哋它亢++23)
(哋它亢++11)
(哋它亢++23)
(哋它亢++11)
(哋它亢++11)
(哋它亢++17)
Common vocabulary types
(哋它亢++11)
(哋它亢++17)
(哋它亢++17)
(哋它亢++17)
(哋它亢++11)
(哋它亢++11)
(哋它亢++17)
(哋它亢++17)
(哋它亢++23)
Elementary string conversions
(哋它亢++17)
(哋它亢++17)
(哋它亢++17)
(哋它亢++17)
(哋它亢++17)


 
Coroutine support
Coroutine traits
(哋它亢++20)
Coroutine handle
(哋它亢++20)
No-op coroutines
(哋它亢++20)
(哋它亢++20)
Trivial awaitables
(哋它亢++20)
(哋它亢++20)
Range generators
(哋它亢++23)
 
std::coroutine_handle
Member functions
Conversion
Observers
(哋它亢++20)
Control
coroutine_handle::operator()coroutine_handle::resume
(哋它亢++20)(哋它亢++20)
Promise access
Export/import
Non-member functions
(哋它亢++20)(哋它亢++20)
Helper classes
 
Member of other specializations
void operator()() const;
void resume() const;
(1) (since 哋它亢++20)
Member of specialization std::coroutine_handle<std::noop_coroutine_promise>
constexpr void operator()() const noexcept;
constexpr void resume() const noexcept;
(2) (since 哋它亢++20)
1) Resumes the execution of the coroutine to which *this refers, or does nothing if the coroutine is a no-op coroutine.
2) Does nothing.

The behavior is undefined if *this does not refer to suspended coroutine, or the coroutine is not a no-op coroutine and suspended at its final suspend point. A concurrent resumption of the coroutine may result in a data race.

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 throws or rethrows an exception, that exception is propagated.

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

See also

(哋它亢++20)
destroys a coroutine
(public member function)