Solution46
CSyncAuto.h
[詳解]
1 //=============================================================================
2 /// @file
3 /// 自動同期クラスヘッダファイル
4 ///
5 /// 自動同期クラスヘッダファイルです。
6 ///
7 /// $Id: CSyncAuto.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  ///
31  //=====================================================================
32  // 構築子と解体子
33  public:
34  //---------------------------------------------------------------------
35  /// コンストラクタ
36  ///
37  /// コンストラクタです。
38  ///
39  /// @param[in] rcSync 同期オブジェクト参照
40  /// @param[in] dwTime 待機時間
41  /// @return なし
42  /// @attention なし
43  ///
44  explicit CSyncAuto( CSync& rcSync, DWORD dwTime = INFINITE ) noexcept;
45 
46  //---------------------------------------------------------------------
47  /// デストラクタ
48  ///
49  /// デストラクタです。
50  ///
51  /// @param なし
52  /// @return なし
53  /// @attention なし
54  ///
55  virtual ~CSyncAuto() noexcept;
56 
57  //=====================================================================
58  // インライン公開関数
59  public:
60  //---------------------------------------------------------------------
61  /// ロック状態取得関数
62  ///
63  /// ロック状態取得関数です。
64  ///
65  /// @param なし
66  /// @return ロック状態フラグ
67  /// - true ロック状態
68  /// - false 非ロック状態
69  /// @attention なし
70  ///
71  inline virtual bool IsLock() const noexcept { return m_bLock; }
72 
73  //=====================================================================
74  // 限定公開変数
75  protected:
76  CSync& m_rcSync; ///< 同期オブジェクト参照
77  bool m_bLock; ///< ロック状態フラグ
78 
79  //=====================================================================
80  // 削除関数
81  private:
82  CSyncAuto( CSyncAuto const& ) = delete;
83  CSyncAuto& operator=( CSyncAuto const& ) = delete;
84  };
85 }
86 
87 #pragma managed( pop )
同期クラスヘッダファイル
同期クラス
Definition: CSync.h:30
共通ライブラリ名前空間
Definition: CArray.h:23
自動同期クラス
Definition: CSyncAuto.h:30
virtual bool IsLock() const noexcept
ロック状態取得関数
Definition: CSyncAuto.h:71
bool m_bLock
ロック状態フラグ
Definition: CSyncAuto.h:77
#define LIB_COMMON_API
ダイナミックライブラリインポート宣言
Definition: LibCommonDef.h:44
CSync & m_rcSync
同期オブジェクト参照
Definition: CSyncAuto.h:76