DotNetDupe
4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Toggle main menu visibility
Loading...
Searching...
No Matches
ConditionVariable.h
Go to the documentation of this file.
1
5
6
#pragma once
7
#include "
System/Object.h
"
8
#include "
System/SmartPointer.h
"
9
10
namespace
DotNetDupe
{
11
namespace
System
{
12
namespace
Threading
{
13
class
CriticalSection
;
14
21
class
ConditionVariable
:
public
Object
{
22
public
:
24
DOTNETDUPE_API
ConditionVariable
();
25
27
DOTNETDUPE_API
virtual
~ConditionVariable
();
28
29
ConditionVariable
(
const
ConditionVariable
&) =
delete
;
30
ConditionVariable
&
operator=
(
const
ConditionVariable
&) =
delete
;
31
DOTNETDUPE_API
ConditionVariable
(
ConditionVariable
&& other)
noexcept
;
32
DOTNETDUPE_API
ConditionVariable
&
operator=
(
ConditionVariable
&& other)
noexcept
;
33
36
DOTNETDUPE_API
void
Wait
(
CriticalSection
& cs);
37
42
DOTNETDUPE_API
bool
Wait
(
CriticalSection
& cs,
int
millisecondsTimeout);
43
45
DOTNETDUPE_API
void
Pulse
();
46
48
DOTNETDUPE_API
void
PulseAll
();
49
50
private
:
51
struct
Impl;
52
SmartPointer<Impl>
m_pImpl;
53
};
54
}
55
}
56
}
DOTNETDUPE_API
#define DOTNETDUPE_API
Platform-specific linkage decoration for exporting or importing library symbols.
Definition
Common.h:20
Object.h
Base object class for DotNetDupe mirroring .NET System.Object.
SmartPointer.h
Provides reference-counted and weak pointer memory management primitives ensuring zero raw ownership.
DotNetDupe::System::Object
Supports all classes in the DotNetDupe class hierarchy.
Definition
Object.h:18
DotNetDupe::System::SmartPointer
A unified smart pointer that supports both unique and shared ownership semantics.
Definition
SmartPointer.h:72
DotNetDupe::System::Threading::ConditionVariable::Wait
void Wait(CriticalSection &cs)
Releases the associated CriticalSection lock and blocks the current thread until signaled.
Definition
ConditionVariable.cpp:33
DotNetDupe::System::Threading::ConditionVariable::ConditionVariable
ConditionVariable()
Initializes a new instance of the ConditionVariable class.
Definition
ConditionVariable.cpp:22
DotNetDupe::System::Threading::ConditionVariable::PulseAll
void PulseAll()
Notifies all waiting threads.
Definition
ConditionVariable.cpp:57
DotNetDupe::System::Threading::ConditionVariable::operator=
ConditionVariable & operator=(const ConditionVariable &)=delete
DotNetDupe::System::Threading::ConditionVariable::ConditionVariable
ConditionVariable(ConditionVariable &&other) noexcept
DotNetDupe::System::Threading::ConditionVariable::Pulse
void Pulse()
Notifies one waiting thread.
Definition
ConditionVariable.cpp:52
DotNetDupe::System::Threading::ConditionVariable::ConditionVariable
ConditionVariable(const ConditionVariable &)=delete
DotNetDupe::System::Threading::ConditionVariable::operator=
ConditionVariable & operator=(ConditionVariable &&other) noexcept
DotNetDupe::System::Threading::CriticalSection
Provides a re-entrant mutual exclusion primitive for thread synchronization.
Definition
CriticalSection.h:19
DotNetDupe::System::Threading
Definition
AbandonedMutexException.h:11
DotNetDupe::System
Definition
Action.h:11
DotNetDupe
Definition
IServiceCollection.h:7
Include
System
Threading
ConditionVariable.h
Generated by
1.18.0