Solution46
CSyncAuto.cpp
[詳解]
1 //=============================================================================
2 /// @file
3 /// 自動同期クラス実装ファイル
4 ///
5 /// 自動同期クラス実装ファイルです。
6 ///
7 /// $Id: CSyncAuto.cpp 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 managed( push, off )
14 
15 //=============================================================================
16 // インクルードファイル
17 #include <CSyncAuto.h>
18 
19 //=============================================================================
20 // 共通ライブラリ名前空間
21 namespace LibCommon {
22  //=========================================================================
23  // 自動同期クラス
24  //=========================================================================
25  // 構築子と解体子
26  //-------------------------------------------------------------------------
27  // コンストラクタ
28  CSyncAuto::CSyncAuto( CSync& rcSync, DWORD dwTime ) noexcept
29  // メンバ変数初期化
30  : m_rcSync( rcSync )
31  , m_bLock( false )
32  {
33  // ロックする
34  if ( m_rcSync.Lock( dwTime ) ) {
35  // ロック状態フラグをセットする
36  m_bLock = true;
37  }
38  }
39 
40  //-------------------------------------------------------------------------
41  // デストラクタ
42  CSyncAuto::~CSyncAuto() noexcept {
43  // ロック状態フラグを調べる
44  if ( m_bLock ) {
45  // ロック解除する
46  m_rcSync.Unlock();
47  }
48  }
49 }
50 
51 #pragma managed( pop )
virtual ~CSyncAuto() noexcept
デストラクタ
Definition: CSyncAuto.cpp:42
同期クラス
Definition: CSync.h:30
virtual bool Unlock() noexcept
ロック解除関数
Definition: CSync.cpp:86
共通ライブラリ名前空間
Definition: CArray.h:23
bool m_bLock
ロック状態フラグ
Definition: CSyncAuto.h:77
CSyncAuto(CSync &rcSync, DWORD dwTime=INFINITE) noexcept
コンストラクタ
Definition: CSyncAuto.cpp:28
自動同期クラスヘッダファイル
CSync & m_rcSync
同期オブジェクト参照
Definition: CSyncAuto.h:76