Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
assertingmutex.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
9
//------------------------------------------------------------------------------
10
#include <atomic>
11
namespace
Threading
12
{
13
14
class
AssertingMutex
15
{
16
public
:
18
AssertingMutex
();
20
~AssertingMutex
();
21
23
void
Lock
();
25
void
Unlock
();
26
private
:
27
std::atomic_int
locked
;
28
};
29
30
struct
AssertingScope
31
{
33
AssertingScope
(
AssertingMutex
*
mutex
)
34
:
mutex
(
mutex
)
35
{
36
mutex
->Lock();
37
}
38
40
~AssertingScope
()
41
{
42
mutex
->Unlock();
43
}
44
45
AssertingMutex
*
mutex
;
46
};
47
48
}
// namespace Threading
Threading::AssertingMutex
Definition
assertingmutex.h:15
Threading::AssertingMutex::~AssertingMutex
~AssertingMutex()
destructor
Definition
assertingmutex.cc:24
Threading::AssertingMutex::Unlock
void Unlock()
unlock mutex
Definition
assertingmutex.cc:42
Threading::AssertingMutex::locked
std::atomic_int locked
Definition
assertingmutex.h:27
Threading::AssertingMutex::AssertingMutex
AssertingMutex()
constructor
Definition
assertingmutex.cc:15
Threading::AssertingMutex::Lock
void Lock()
lock mutex
Definition
assertingmutex.cc:33
Threading
The Jobs2 system provides a set of threads and a pool of jobs from which threads can pickup work.
Definition
jobs2.h:16
Threading::AssertingScope::mutex
AssertingMutex * mutex
Definition
assertingmutex.h:45
Threading::AssertingScope::~AssertingScope
~AssertingScope()
destructor
Definition
assertingmutex.h:40
Threading::AssertingScope::AssertingScope
AssertingScope(AssertingMutex *mutex)
constructor
Definition
assertingmutex.h:33
code
foundation
threading
assertingmutex.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.