Stroika Library
3.0d16
Help-Home
Loading...
Searching...
No Matches
CriticalSectionRecursiveMutex.h
1
/*
2
* Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3
*/
4
#ifndef _Stroika_Foundation_Execution_Platform_Windows_CriticalSectionRecursiveMutex_h_
5
#define _Stroika_Foundation_Execution_Platform_Windows_CriticalSectionRecursiveMutex_h_ 1
6
7
#include "Stroika/Foundation/StroikaPreComp.h"
8
9
#if qStroika_Foundation_Common_Platform_Windows
10
#include <Windows.h>
11
#else
12
#error "WINDOWS REQUIRED FOR THIS MODULE"
13
#endif
14
15
#include "Stroika/Foundation/Common/Common.h"
16
17
/**
18
*
19
* \note Code-Status: <a href="Code-Status.md#Alpha">Alpha</a>
20
*
21
*/
22
23
namespace
Stroika::Foundation::Execution::Platform::Windows
{
24
25
/**
26
* (reason is to test if perofrmance better than msvc mutex)
27
*/
28
class
CriticalSectionRecursiveMutex
{
29
public
:
30
CriticalSectionRecursiveMutex
();
31
CriticalSectionRecursiveMutex
(
const
CriticalSectionRecursiveMutex
&) =
delete
;
32
33
public
:
34
~CriticalSectionRecursiveMutex
();
35
36
public
:
37
nonvirtual
CriticalSectionRecursiveMutex
& operator= (
const
CriticalSectionRecursiveMutex
&) =
delete
;
38
39
public
:
40
nonvirtual
void
lock ();
41
nonvirtual
void
unlock ();
42
43
private
:
44
CRITICAL_SECTION fCritSec_;
45
};
46
47
}
48
49
/*
50
********************************************************************************
51
***************************** Implementation Details ***************************
52
********************************************************************************
53
*/
54
#include "CriticalSectionRecursiveMutex.inl"
55
56
#endif
/*_Stroika_Foundation_Execution_Platform_Windows_CriticalSectionRecursiveMutex_h_*/
Stroika::Foundation::Execution::Platform::Windows::CriticalSectionRecursiveMutex
Definition
CriticalSectionRecursiveMutex.h:28
Stroika::Foundation::Execution::Platform::Windows
Definition
COM.h:19
Library
Sources
Stroika
Foundation
Execution
Platform
Windows
CriticalSectionRecursiveMutex.h
Generated by
1.9.8