|
CeresEngine 0.2.0
A game development framework
|
Awaitable reader for Channel
More...
#include <CeresEngine/Foundation/Channel.hpp>
Public Member Functions | |
| Reader (const Reader &)=delete | |
| Deleted copy constructor. | |
| Reader & | operator= (const Reader &)=delete |
| Deleted copy assignment operator. | |
| Reader (Reader &&rhs) noexcept | |
| Creates a new reader by moving the contents of another. | |
| Reader & | operator= (Reader &&rhs) noexcept |
| Assigns the reader by moving the contents of another. | |
| ~Reader () noexcept=default | |
| Destroys the reader. | |
| bool | await_ready () const & |
| void | await_suspend (CoroutineHandle coro) & |
| Optional< T > | await_resume () & |
Private Member Functions | |
| Reader (Channel &ch) noexcept | |
| Creates a new channel reader. | |
Private Attributes | ||
| friend | LinkedList< Reader > | |
| friend | Channel | |
| Optional< T > | value = std::nullopt | |
| The address of value. | ||
| Optional< CoroutineHandle > | handle = nullptr | |
| The coroutine handle. | ||
| union { | ||
| Reader * next = nullptr | ||
| Next reader in the queue. More... | ||
| Channel * channel | ||
| The channel to push this reader. More... | ||
| }; | ||
Awaitable reader for Channel
|
inlineexplicitprivatenoexcept |
Creates a new channel reader.
| ch | The channel owning the reader |
|
delete |
Deleted copy constructor.
|
inlinenoexcept |
Creates a new reader by moving the contents of another.
| rhs | The instance to move from |
|
defaultnoexcept |
Destroys the reader.
| bool CeresEngine::Channel< T, Lockable >::Reader::await_ready | ( | ) | const & |
| Optional< T > CeresEngine::Channel< T, Lockable >::Reader::await_resume | ( | ) | & |
| void CeresEngine::Channel< T, Lockable >::Reader::await_suspend | ( | CoroutineHandle | coro | ) | & |
Deleted copy assignment operator.
|
inlinenoexcept |
Assigns the reader by moving the contents of another.
| rhs | The instance to move from |
*this | union { ... } CeresEngine::Channel< T, Lockable >::Reader |
|
private |
| Channel* CeresEngine::Channel< T, Lockable >::Reader::channel |
The channel to push this reader.
|
mutableprivate |
The coroutine handle.
|
private |
| Reader* CeresEngine::Channel< T, Lockable >::Reader::next = nullptr |
Next reader in the queue.
|
mutableprivate |
The address of value.