Samchon Framework for CPP
1.0.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
UniqueWriteLock.cpp
1
#include <samchon/library/RWMutex.hpp>
2
using namespace
samchon::library
;
3
4
/* -----------------------------------------------------------
5
CONSTRUCTORS
6
----------------------------------------------------------- */
7
UniqueWriteLock::UniqueWriteLock
(
RWMutex
&mtx,
bool
doLock)
8
{
9
if
(doLock ==
true
)
10
mtx.
writeLock
();
11
12
this->mtx = &
mtx
;
13
this->
isLocked
= doLock;
14
}
15
UniqueWriteLock::UniqueWriteLock
(
UniqueWriteLock
&&obj)
16
{
17
//MOVE
18
this->
mtx
= obj.mtx;
19
this->
isLocked
= obj.isLocked;
20
21
//TRUNCATE
22
obj.mtx =
nullptr
;
23
obj.isLocked =
nullptr
;
24
}
25
UniqueWriteLock::~UniqueWriteLock
()
26
{
27
if
(
isLocked
==
true
)
28
mtx
->
writeUnlock
();
29
}
30
31
/* -----------------------------------------------------------
32
LOCKERS
33
----------------------------------------------------------- */
34
void
UniqueWriteLock::lock
()
35
{
36
if
(
isLocked
==
true
)
37
return
;
38
39
mtx
->
writeLock
();
40
isLocked
=
true
;
41
}
42
void
UniqueWriteLock::unlock
()
43
{
44
if
(
isLocked
==
false
)
45
return
;
46
47
mtx
->
writeUnlock
();
48
isLocked
=
false
;
49
}
samchon::library::UniqueWriteLock::unlock
void unlock()
Unlock on writing.
Definition:
UniqueWriteLock.cpp:42
samchon::library::UniqueWriteLock::isLocked
bool isLocked
Whether the mutex was locked by UniqueLock.
Definition:
UniqueWriteLock.hpp:52
samchon::library
Package of libraries.
Definition:
library.hpp:84
samchon::library::UniqueWriteLock::UniqueWriteLock
UniqueWriteLock(RWMutex &, bool=true)
Construct from mutex.
Definition:
UniqueWriteLock.cpp:7
samchon::library::RWMutex::writeUnlock
void writeUnlock()
Unlock on writing.
Definition:
RWMutex.cpp:61
samchon::library::UniqueWriteLock
Unique lock for writing.
Definition:
UniqueWriteLock.hpp:41
samchon::library::RWMutex::writeLock
void writeLock()
Lock on writing.
Definition:
RWMutex.cpp:53
samchon::library::UniqueWriteLock::mtx
RWMutex * mtx
Managed mutex.
Definition:
UniqueWriteLock.hpp:47
samchon::library::RWMutex
rw_mutex
Definition:
RWMutex.hpp:33
samchon::library::UniqueWriteLock::lock
void lock()
Lock on writing.
Definition:
UniqueWriteLock.cpp:34
samchon::library::UniqueWriteLock::~UniqueWriteLock
~UniqueWriteLock()
Destructor.
Definition:
UniqueWriteLock.cpp:25
cpp
samchon
library
UniqueWriteLock.cpp
Generated by
1.8.11