![]() |
fpmas 1.6
|
#include <ghost_mode.h>
Public Member Functions | |
const T & | read () override |
void | releaseRead () override |
T & | acquire () override |
void | releaseAcquire () override |
void | synchronize () override |
![]() | |
SingleThreadMutex (T &data) | |
T & | data () override |
const T & | data () const override |
void | lock () override |
void | unlock () override |
bool | locked () const override |
void | lockShared () override |
void | unlockShared () override |
int | sharedLockCount () const override |
virtual T & | data ()=0 |
virtual const T & | data () const =0 |
virtual const T & | read ()=0 |
virtual void | releaseRead ()=0 |
virtual T & | acquire ()=0 |
virtual void | releaseAcquire ()=0 |
virtual void | lock ()=0 |
virtual void | unlock ()=0 |
virtual bool | locked () const =0 |
virtual void | lockShared ()=0 |
virtual void | unlockShared ()=0 |
virtual int | sharedLockCount () const =0 |
virtual void | synchronize ()=0 |
Additional Inherited Members | |
virtual void | _lock ()=0 |
virtual void | _lockShared ()=0 |
virtual void | _unlock ()=0 |
virtual void | _unlockShared ()=0 |
GhostMode Mutex implementation.
read() and acquire() methods return a reference to the local data.
|
inlineoverridevirtual |
Provides a read access to the internal data.
The functions blocks until data is effectively read.
Read data must be released using releaseRead().
Implements fpmas::api::synchro::Mutex< T >.
|
inlineoverridevirtual |
Releases a mutex previously accessed with read().
Implements fpmas::api::synchro::Mutex< T >.
|
inlineoverridevirtual |
Acquires an exclusive access to the internal data.
The function blocks until data is effectively acquired.
Write operations are semantically allowed on acquired data. However, how write operations are handled is implementation defined.
Acquired data must be released using releaseAcquire().
Implements fpmas::api::synchro::Mutex< T >.
|
inlineoverridevirtual |
Releases a mutex previously accessed with acquire().
Semantically, this operation also "commits" eventual write operations that were performed on the acquired data. However, the actual behavior is implementation defined.
Implements fpmas::api::synchro::Mutex< T >.
|
inlineoverridevirtual |
Method eventually called when data synchronization is performed on this Mutex.
The behavior of this method depends on the currently implemented SynchronizationMode.
Implements fpmas::api::synchro::Mutex< T >.