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.
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) |
|
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.