#include <once_sender.h>
Public Member Functions | |
OnceRefReceiver (OnceRefReceiver &&other) | |
OnceRefReceiver (const OnceRefReceiver &)=delete | |
OnceRefReceiver & | operator= (const OnceRefReceiver &)=delete |
OnceRefReceiver & | operator= (OnceRefReceiver &&other)=delete |
Poll< Status > | Pend (Context &cx) |
Friends | |
class | OnceRefSender< T > |
template<typename U > | |
std::pair< OnceRefSender< U >, OnceRefReceiver< U > > | MakeOnceRefSenderAndReceiver (U &) |
template<typename U > | |
void | InitializeOnceRefSenderAndReceiver (OnceRefSender< U > &sender, OnceRefReceiver< U > &receiver, U &value) |
OnceRefReceiver
is notified when the paired OnceRefSender
modifies a reference. It must be constructed using MakeOnceRefSenderAndReceiver()
. OnceRefReceiver::Pend()
is used to poll for completion by OnceRefSender
. OnceRefReceiver
is thread safe and may be used on a different thread than OnceRefSender
. However, the referenced value must not be modified from the time of construction until either OnceRefReceiver::Pend()
returns Ready()
or either of OnceRefReceiver
or OnceRefSender
is destroyed.
|
inline |
Returns Ready
with an ok
status when the modification of the reference is complete. If the sender is destroyed before updating the reference, a cancelled
status is returned.