template <typename T, typename SeqLockType>
class SeqLockPayload
Defined at line 14 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h
Public Members
static SyncOpt kCopySyncOpt
Public Methods
template <typename... Args>
void SeqLockPayload<T, SeqLockType> (Args &&... args)
Forwarding constructor for our payload, and an explicitly default destructor.
Defined at line 22 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h
void ~SeqLockPayload<T, SeqLockType> ()
Defined at line 28 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h
void SeqLockPayload<T, SeqLockType> (const SeqLockPayload<T, SeqLockType> & )
No copy, no move
Defined at line 31 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h
void SeqLockPayload<T, SeqLockType> (SeqLockPayload<T, SeqLockType> && )
Defined at line 32 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h
SeqLockPayload<T, SeqLockType> & operator= (const SeqLockPayload<T, SeqLockType> & )
Defined at line 33 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h
SeqLockPayload<T, SeqLockType> & operator= (SeqLockPayload<T, SeqLockType> && )
Defined at line 34 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h
void Read (T & dst)
Specific versions of Read/Update which always use the sync-opt dictated to
us by our associated lock type.
Defined at line 38 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h
void Update (const T & src)
Defined at line 39 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h
T & BeginInPlaceUpdate ()
Gain R/W access to the payload in order to perform an in-place update of
the contents fence-to-fence synchronization to protect the payload. All
stores to the payload accessed via this reference should be done using
relaxed atomic stores.
Defined at line 45 of file ../../zircon/system/ulib/concurrent/include/lib/concurrent/seqlock_payload.h