Solution46
総合概要
名前空間
クラス
ファイル
ファイル一覧
ファイルメンバ
CSemaphore.h
[詳解]
1
//=============================================================================
2
/// @file
3
/// セマフォクラスヘッダファイル
4
///
5
/// セマフォクラスヘッダファイルです。
6
///
7
/// $Id: CSemaphore.h 245 2019-03-20 15:03:41Z admin $
8
/// $Date: 2019-03-21 00:03:41 +0900 (2019/03/21 (木)) $
9
/// $Author: admin $
10
///
11
/// @attention なし
12
13
#pragma once
14
#pragma managed( push, off )
15
16
//=============================================================================
17
// インクルードファイル
18
#include <
CSync.h
>
19
20
//=============================================================================
21
// 共通ライブラリ名前空間
22
namespace
LibCommon
{
23
//=========================================================================
24
/// セマフォクラス
25
///
26
/// セマフォクラスです。
27
///
28
/// @attention なし
29
///
30
class
LIB_COMMON_API
CSemaphore
:
public
CSync
{
31
//=====================================================================
32
// 構築子と解体子
33
public
:
34
//---------------------------------------------------------------------
35
/// コンストラクタ
36
///
37
/// コンストラクタです。
38
///
39
/// @param なし
40
/// @return なし
41
/// @attention なし
42
///
43
explicit
CSemaphore
() noexcept;
44
45
//---------------------------------------------------------------------
46
/// デストラクタ
47
///
48
/// デストラクタです。
49
///
50
/// @param なし
51
/// @return なし
52
/// @attention なし
53
///
54
virtual
~CSemaphore
() noexcept {}
55
56
//=====================================================================
57
// 公開関数
58
public
:
59
//---------------------------------------------------------------------
60
/// リリース関数
61
///
62
/// リリース関数です。
63
///
64
/// @param なし
65
/// @return 実行結果
66
/// - true 成功
67
/// - false 失敗
68
/// @attention オーバライド関数です。
69
///
70
virtual
bool
Release() noexcept
override
;
71
72
//---------------------------------------------------------------------
73
/// 作成関数
74
///
75
/// 作成関数です。
76
///
77
/// @param[in] pszObjectName オブジェクト名
78
/// @return 実行結果
79
/// - true 成功
80
/// - false 失敗
81
/// @attention なし
82
///
83
virtual
bool
Create(
wchar_t
const
* pszObjectName =
nullptr
) noexcept;
84
85
//---------------------------------------------------------------------
86
/// 作成関数
87
///
88
/// 作成関数です。
89
///
90
/// @param[in] nInitial 初期値
91
/// @param[in] nMax 最大値
92
/// @param[in] pszObjectName オブジェクト名
93
/// @return 実行結果
94
/// - true 成功
95
/// - false 失敗
96
/// @attention なし
97
///
98
virtual
bool
Create( LONG nInitial, LONG nMax,
wchar_t
const
* pszObjectName =
nullptr
) noexcept;
99
100
//---------------------------------------------------------------------
101
/// オープン関数
102
///
103
/// オープン関数です。
104
///
105
/// @param[in] pszObjectName オブジェクト名
106
/// @return 実行結果
107
/// - true 成功
108
/// - false 失敗
109
/// @attention なし
110
///
111
virtual
bool
Open(
wchar_t
const
* pszObjectName ) noexcept;
112
113
//---------------------------------------------------------------------
114
/// カウント加算関数
115
///
116
/// カウント加算関数です。
117
///
118
/// @param[in] nCount 加算カウント
119
/// @param[out] rnPrev 直前のカウント参照
120
/// @return 実行結果
121
/// - true 成功
122
/// - false 失敗
123
/// @attention なし
124
///
125
virtual
bool
AddCount(
long
nCount,
long
& rnPrev ) noexcept;
126
127
//=====================================================================
128
// 静的限定公開文字列定数
129
protected
:
130
static
wchar_t
const
*
const
OBJECT_NAME_EXT
;
///< オブジェクト名拡張子
131
132
//=====================================================================
133
// 削除関数
134
private
:
135
CSemaphore
(
CSemaphore
const
& ) =
delete
;
136
CSemaphore
& operator=(
CSemaphore
const
& ) =
delete
;
137
};
138
}
139
140
#pragma managed( pop )
CSync.h
同期クラスヘッダファイル
LibCommon::CSync
同期クラス
Definition:
CSync.h:30
LibCommon::CSemaphore::OBJECT_NAME_EXT
static wchar_t const *const OBJECT_NAME_EXT
オブジェクト名拡張子
Definition:
CSemaphore.h:130
LibCommon
共通ライブラリ名前空間
Definition:
CArray.h:23
LibCommon::CSemaphore
セマフォクラス
Definition:
CSemaphore.h:30
LIB_COMMON_API
#define LIB_COMMON_API
ダイナミックライブラリインポート宣言
Definition:
LibCommonDef.h:44
LibCommon::CSemaphore::~CSemaphore
virtual ~CSemaphore() noexcept
デストラクタ
Definition:
CSemaphore.h:54
Include
Library
LibCommon
CSemaphore.h
2019年03月26日(火) 13時18分12秒作成 - Solution46 / 構成:
1.8.11