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