MEL
Microthread & Execution library
Singleton_Multithread_Policy.h
1
#pragma once
2
#include <MelLibType.h>
3
#include <mutex>
4
5
namespace
mel
6
{
7
namespace
core
8
{
13
template
<
class
T>
class
Singleton_Multithread_Policy
14
{
15
private
:
16
template
<
class
U>
class
Locker
17
{
18
public
:
19
Locker() { mCs.lock(); }
20
~Locker() { mCs.unlock(); }
21
22
private
:
23
static
std::mutex mCs;
24
};
25
26
public
:
27
typedef
T VolatileType;
28
typedef
Locker<T> Lock;
29
};
30
template
<
class
T>
31
template
<
class
U>
32
std::mutex
Singleton_Multithread_Policy<T>::Locker
<U>::mCs;
33
}
// namespace core
34
}
// namespace mel
mel::core::Singleton_Multithread_Policy
Definition:
Singleton_Multithread_Policy.h:14
mel
Definition:
Callback_Impl.h:11
include
core
Singleton_Multithread_Policy.h
Generated by
1.9.1