fpmas 1.5
single_thread_mutex.h
1#ifndef FPMAS_SINGLE_THREAD_MUTEX_H
2#define FPMAS_SINGLE_THREAD_MUTEX_H
3
5
6namespace fpmas { namespace synchro { namespace ghost {
7
12 template<typename T>
14 private:
15 T& _data;
16 void _lock() override {};
17 void _lockShared() override {};
18 void _unlock() override {};
19 void _unlockShared() override {};
20
21 public:
27 SingleThreadMutex(T& data) : _data(data) {}
28
29 T& data() override {return _data;}
30 const T& data() const override {return _data;}
31
32 void lock() override {};
33 void unlock() override {};
34 bool locked() const override {return false;}
35
36 void lockShared() override {};
37 void unlockShared() override {};
38 int sharedLockCount() const override {return 0;};
39 };
40
41}}}
42#endif
Definition: mutex.h:26
Definition: single_thread_mutex.h:13
void lock() override
Definition: single_thread_mutex.h:32
T & data() override
Definition: single_thread_mutex.h:29
const T & data() const override
Definition: single_thread_mutex.h:30
bool locked() const override
Definition: single_thread_mutex.h:34
void unlockShared() override
Definition: single_thread_mutex.h:37
int sharedLockCount() const override
Definition: single_thread_mutex.h:38
void unlock() override
Definition: single_thread_mutex.h:33
void lockShared() override
Definition: single_thread_mutex.h:36
SingleThreadMutex(T &data)
Definition: single_thread_mutex.h:27
Definition: fpmas.cpp:3