EHS
Semaphore_W32.h
Go to the documentation of this file.
1#pragma once
2
3#include "ehs/EHS.h"
4#include "ehs/Str.h"
5#include "BaseSemaphore.h"
6
7namespace ehs
8{
9 class EHS_LIB_IO Semaphore : public BaseSemaphore
10 {
11 private:
12 HANDLE hdl;
13
14 public:
16
18
19 Semaphore(Str_8 name, const UInt_32 initial);
20
21 Semaphore(const UInt_32 initial);
22
23 Semaphore(Semaphore&& sem) noexcept;
24
25 Semaphore(const Semaphore& sem);
26
27 Semaphore& operator=(Semaphore&& sem) noexcept;
28
30
31 void Initialize() override;
32
33 void Release() override;
34
35 void Signal(const UInt_32 inc) override;
36
37 bool Wait(const UInt_32 timeout) override;
38
39 bool IsValid() const override;
40 };
41}
Definition: Semaphore_P.h:12
Semaphore(const UInt_32 initial)
void Release() override
Semaphore(Semaphore &&sem) noexcept
void Initialize() override
Semaphore & operator=(Semaphore &&sem) noexcept
Semaphore(const Semaphore &sem)
bool IsValid() const override
Semaphore & operator=(const Semaphore &sem)
void Signal(const UInt_32 inc) override
bool Wait(const UInt_32 timeout) override
Definition: Anchor.h:6
unsigned int UInt_32
Definition: Types.h:49