Plasma Engine
2.0
Loading...
Searching...
No Matches
ConditionalLock.h
1
#pragma once
2
5
template
<
typename
T>
6
class
plConditionalLock
7
{
8
public
:
9
PL_ALWAYS_INLINE
explicit
plConditionalLock
(T& lock,
bool
bCondition)
10
: m_lock(lock)
11
, m_bCondition(bCondition)
12
{
13
if
(m_bCondition)
14
{
15
m_lock.Lock();
16
}
17
}
18
19
PL_ALWAYS_INLINE
~plConditionalLock
()
20
{
21
if
(m_bCondition)
22
{
23
m_lock.Unlock();
24
}
25
}
26
27
private
:
28
plConditionalLock
();
29
plConditionalLock
(
const
plConditionalLock<T>
& rhs);
30
void
operator=(
const
plConditionalLock<T>
& rhs);
31
32
T& m_lock;
33
bool
m_bCondition;
34
};
plConditionalLock
Manages a lock (e.g. a mutex) and ensures that it is properly released as the lock object goes out of...
Definition
ConditionalLock.h:7
Code
Engine
Foundation
Threading
ConditionalLock.h
Generated by
1.11.0