Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Member Functions | List of all members
uni20::async::PropagateExceptionsAwaiter< Buffers > Class Template Reference

Awaiter that registers explicit exception sinks and then resumes immediately. More...

#include <buffers.hpp>

Public Member Functions

bool await_ready () const noexcept
 Always ready; no suspension required.
 
void await_resume () noexcept
 No-op resume hook.
 
BasicTask await_suspend (BasicTask &&task) noexcept
 Pass through the currently-running task unchanged.
 
 PropagateExceptionsAwaiter (Buffers &... buffers)
 Construct from references to sink buffers.
 
void register_exception_sinks (TaskPromiseBase &promise) const
 Register all configured buffers as explicit exception sinks.
 

Detailed Description

template<exception_sink_buffer... Buffers>
class uni20::async::PropagateExceptionsAwaiter< Buffers >

Awaiter that registers explicit exception sinks and then resumes immediately.

Template Parameters
BuffersBuffer types that implement register_exception_sink.

Constructor & Destructor Documentation

◆ PropagateExceptionsAwaiter()

template<exception_sink_buffer... Buffers>
uni20::async::PropagateExceptionsAwaiter< Buffers >::PropagateExceptionsAwaiter ( Buffers &...  buffers)
inlineexplicit

Construct from references to sink buffers.

Parameters
buffersBuffers that should receive unhandled exceptions.

Member Function Documentation

◆ await_ready()

template<exception_sink_buffer... Buffers>
bool uni20::async::PropagateExceptionsAwaiter< Buffers >::await_ready ( ) const
inlinenoexcept

Always ready; no suspension required.

Returns
Always true.

◆ await_resume()

template<exception_sink_buffer... Buffers>
void uni20::async::PropagateExceptionsAwaiter< Buffers >::await_resume ( )
inlinenoexcept

No-op resume hook.

◆ await_suspend()

template<exception_sink_buffer... Buffers>
BasicTask uni20::async::PropagateExceptionsAwaiter< Buffers >::await_suspend ( BasicTask &&  task)
inlinenoexcept

Pass through the currently-running task unchanged.

Parameters
taskCurrent owning task.
Returns
The same task, preserving ownership transfer semantics.

◆ register_exception_sinks()

template<exception_sink_buffer... Buffers>
void uni20::async::PropagateExceptionsAwaiter< Buffers >::register_exception_sinks ( TaskPromiseBase &  promise) const
inline

Register all configured buffers as explicit exception sinks.

Parameters
promisePromise that owns the sink list.

The documentation for this class was generated from the following file: