Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
corium::async::Channel< T, Capacity >::PopAwaiter Struct Reference

Awaiter for popping an item asynchronously (suspends if channel is empty). More...

#include <Channel.hpp>

+ Collaboration diagram for corium::async::Channel< T, Capacity >::PopAwaiter:

Public Member Functions

bool await_ready () noexcept
 
std::optional< T > await_resume () noexcept
 
bool await_suspend (std::coroutine_handle<> h) noexcept
 

Public Attributes

Channelchan
 
std::optional< T > result {}
 

Detailed Description

template<typename T, size_t Capacity = 16>
struct corium::async::Channel< T, Capacity >::PopAwaiter

Awaiter for popping an item asynchronously (suspends if channel is empty).

Member Function Documentation

◆ await_ready()

template<typename T , size_t Capacity = 16>
bool corium::async::Channel< T, Capacity >::PopAwaiter::await_ready ( )
inlinenoexcept
+ Here is the call graph for this function:

◆ await_resume()

template<typename T , size_t Capacity = 16>
std::optional< T > corium::async::Channel< T, Capacity >::PopAwaiter::await_resume ( )
inlinenoexcept
+ Here is the call graph for this function:

◆ await_suspend()

template<typename T , size_t Capacity = 16>
bool corium::async::Channel< T, Capacity >::PopAwaiter::await_suspend ( std::coroutine_handle<>  h)
inlinenoexcept
+ Here is the call graph for this function:

Member Data Documentation

◆ chan

template<typename T , size_t Capacity = 16>
Channel& corium::async::Channel< T, Capacity >::PopAwaiter::chan

◆ result

template<typename T , size_t Capacity = 16>
std::optional<T> corium::async::Channel< T, Capacity >::PopAwaiter::result {}

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