1#ifndef FPMAS_SYNCHRO_GUARDS_H
2#define FPMAS_SYNCHRO_GUARDS_H
10namespace fpmas {
namespace synchro {
67 :
Guard<T>(const_cast<api::graph::DistributedNode<T>*>(node)) {
78 this->
mutex.releaseRead();
101 this->
mutex.acquire();
109 this->
mutex.releaseAcquire();
137 this->
mutex.unlock();
156 :
Guard<T>(const_cast<api::graph::DistributedNode<T>*>(node)) {
157 this->
mutex.lockShared();
165 this->
mutex.unlockShared();
Definition: distributed_node.h:28
virtual ~AcquireGuard()
Definition: guards.h:108
AcquireGuard(api::graph::DistributedNode< T > *node)
Definition: guards.h:98
api::synchro::Mutex< T > & mutex
Definition: guards.h:30
Guard(api::graph::DistributedNode< T > *node)
Definition: guards.h:37
virtual ~LockGuard()
Definition: guards.h:136
LockGuard(api::graph::DistributedNode< T > *node)
Definition: guards.h:127
virtual ~ReadGuard()
Definition: guards.h:77
ReadGuard(const api::graph::DistributedNode< T > *node)
Definition: guards.h:66
SharedLockGuard(const api::graph::DistributedNode< T > *node)
Definition: guards.h:155
virtual ~SharedLockGuard()
Definition: guards.h:164