|
| AsyncTask | get_return_object () noexcept |
| |
| constexpr | TaskPromiseBase () noexcept=default |
| | Default-construct the promise.
|
| |
| template<typename... Args> |
| | TaskPromiseBase (Args &&... args) |
| | Construct the promise and process coroutine arguments for debug metadata.
|
| |
| int | add_awaiter () noexcept |
| | Increase the number of active awaiters by one.
|
| |
| int | add_awaiter (int count) noexcept |
| | Increase the number of active awaiters by a specified count.
|
| |
| template<TaskAwaitable A> |
| auto | await_transform (A &&a) |
| | Transforms rvalue awaitables into task-aware awaiters.
|
| |
| template<TaskFactoryAwaitable A> |
| auto | await_transform (A &&a) |
| |
| template<TaskAwaitable A> |
| auto | await_transform (A &a) |
| | Transform an awaiter to transfer one task ownership claim.
|
| |
| template<TaskFactoryAwaitable A> |
| auto | await_transform (A &a) |
| | Transform the awaiter to provide transfer of shared ownership of the TaskFactory.
|
| |
| template<typename T > |
| auto | await_transform (T &&) |
| | Fallback await_transform overload that rejects unsupported awaitables.
|
| |
template<typename Task >
requires std::derived_from<std::remove_cvref_t<Task>, BasicTask> |
| Task && | await_transform (Task &&task) noexcept |
| | Pass through a concrete task that uses the shared basic task representation.
|
| |
| TaskHandle | destroy_with_continuation () noexcept |
| | safely destroy this coroutine, returning the continuation_ (which also must now be destroyed)
|
| |
| auto | final_suspend () noexcept |
| |
| std::exception_ptr | get_exception () noexcept |
| | Get the current exception pointer, or nullptr if there is no current exception.
|
| |
| bool | has_started () const noexcept |
| | Query whether the coroutine has begun executing.
|
| |
| auto | initial_suspend () noexcept |
| | Suspend immediately on coroutine entry.
|
| |
| template<TaskPromise Promise> |
| TaskHandle | initialize_task (std::coroutine_handle< Promise > handle) noexcept |
| | Cache erased self-identity and register the initial ownership claim.
|
| |
| bool | is_cancel_on_resume () const noexcept |
| | Reports whether cancellation-on-resume is currently set.
|
| |
| void | mark_started () noexcept |
| | Mark the coroutine as having been scheduled to start executing.
|
| |
| std::optional< int > | preferred_numa_node () const noexcept |
| | Retrieve the preferred NUMA node for this coroutine.
|
| |
| void | register_exception_sink (ExceptionSinkNode &node, std::shared_ptr< EpochContext > epoch, bool explicit_sink) |
| | Register one exception propagation sink with this promise.
|
| |
| bool | release_awaiter () noexcept |
| | Decrease the number of active awaiters by one.
|
| |
| bool | release_awaiter (int count) noexcept |
| | Decrease the number of active awaiters by a specified count.
|
| |
| TaskHandle | release_ownership () |
| | Release ownership of the coroutine and return it, if it was exclusively owned.
|
| |
| void | rethrow_exception () |
| | Throw the current exception, if there is one.
|
| |
| constexpr void | return_void () noexcept |
| | Called when the coroutine returns normally.
|
| |
| IScheduler * | scheduler () const noexcept |
| | Return the scheduler currently recorded for this task.
|
| |
| TaskHandle | self () noexcept |
| | Return this promise's erased coroutine identity.
|
| |
| void | set_cancel_on_resume () noexcept |
| | Mark the coroutine for cancellation at next resume.
|
| |
| void | set_exception (std::exception_ptr e) noexcept |
| | Record an exception for deferred rethrow on resume.
|
| |
| void | set_preferred_numa_node (std::optional< int > node) noexcept |
| | Set the preferred NUMA node recorded for this coroutine.
|
| |
| BasicTask | take_ownership () noexcept |
| | Acquire exclusive ownership of the coroutine.
|
| |
| TaskFactory | take_shared_ownership (int count) |
| | Acquire shared ownership of the coroutine for use with multi-await constructs.
|
| |
| constexpr | TaskPromiseBase () noexcept=default |
| | Default-construct the promise.
|
| |
| template<typename... Args> |
| | TaskPromiseBase (Args &&... args) |
| | Construct the promise and process coroutine arguments for debug metadata.
|
| |
| void | unhandled_exception () |
| | Called on unhandled exception escaping the coroutine.
|
| |
| void | unregister_exception_sink (ExceptionSinkNode &node, bool from_destructor) noexcept |
| | Unregister one exception propagation sink from this promise.
|
| |
| | ~TaskPromiseBase () noexcept |
| |
Promise type for ordinary AsyncTask coroutines.