Solution46
CJsonConfigAuto.h
[詳解]
1 //=============================================================================
2 /// @file
3 /// JSON構成情報自動セクションブロッククラスヘッダファイル
4 ///
5 /// JSON構成情報自動セクションブロッククラスヘッダファイルです。
6 ///
7 /// $Id: CJsonConfigAuto.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 <CJsonConfig.h>
19 
20 //=============================================================================
21 // JSONライブラリ名前空間
22 namespace LibJson {
23  //=========================================================================
24  /// JSON構成情報自動セクションブロッククラス
25  ///
26  /// JSON構成情報自動セクションブロッククラスです。
27  ///
28  /// @attention なし
29  ///
31  //=====================================================================
32  // 構築子と解体子
33  public:
34  //---------------------------------------------------------------------
35  /// コンストラクタ
36  ///
37  /// コンストラクタです。
38  ///
39  /// @param[in] rcConfig JSON構成情報参照
40  /// @param[in] pszSection セクション文字列
41  /// @param[in] nIndex セクションインデックス
42  /// @param[in] pszPath JSONパス文字列
43  /// @param[in] bClear セクションクリアフラグ
44  /// @return なし
45  /// @attention なし
46  ///
47  explicit CJsonConfigAuto( CJsonConfig& rcConfig, wchar_t const* pszSection, int nIndex, wchar_t const* pszPath, bool bClear = false ) noexcept;
48 
49  //---------------------------------------------------------------------
50  /// コンストラクタ
51  ///
52  /// コンストラクタです。
53  ///
54  /// @param[in] rcConfig JSON構成情報参照
55  /// @param[in] pszSection セクション文字列
56  /// @param[in] pszPath JSONパス文字列
57  /// @param[in] bClear セクションクリアフラグ
58  /// @return なし
59  /// @attention なし
60  ///
61  explicit CJsonConfigAuto( CJsonConfig& rcConfig, wchar_t const* pszSection, wchar_t const* pszPath, bool bClear = false ) noexcept
62  : CJsonConfigAuto( rcConfig, pszSection, -1, pszPath, bClear ) {}
63 
64  //---------------------------------------------------------------------
65  /// コンストラクタ
66  ///
67  /// コンストラクタです。
68  ///
69  /// @param[in] rcConfig JSON構成情報参照
70  /// @param[in] pszSection セクション文字列
71  /// @param[in] nIndex セクションインデックス
72  /// @param[in] bClear セクションクリアフラグ
73  /// @return なし
74  /// @attention なし
75  ///
76  explicit CJsonConfigAuto( CJsonConfig& rcConfig, wchar_t const* pszSection, int nIndex, bool bClear = false ) noexcept
77  : CJsonConfigAuto( rcConfig, pszSection, nIndex, nullptr, bClear ) {}
78 
79  //---------------------------------------------------------------------
80  /// コンストラクタ
81  ///
82  /// コンストラクタです。
83  ///
84  /// @param[in] rcConfig JSON構成情報参照
85  /// @param[in] pszSection セクション文字列
86  /// @param[in] bClear セクションクリアフラグ
87  /// @return なし
88  /// @attention なし
89  ///
90  explicit CJsonConfigAuto( CJsonConfig& rcConfig, wchar_t const* pszSection, bool bClear = false ) noexcept
91  : CJsonConfigAuto( rcConfig, pszSection, -1, nullptr, bClear ) {}
92 
93  //---------------------------------------------------------------------
94  /// デストラクタ
95  ///
96  /// デストラクタです。
97  ///
98  /// @param なし
99  /// @return なし
100  /// @attention なし
101  ///
102  virtual ~CJsonConfigAuto() noexcept;
103 
104  //=====================================================================
105  // インライン公開関数
106  public:
107  //---------------------------------------------------------------------
108  /// 実行結果取得関数
109  ///
110  /// 実行結果取得関数です。
111  ///
112  /// @param なし
113  /// @return 実行結果
114  /// - true 成功
115  /// - false 失敗
116  /// @attention なし
117  ///
118  inline virtual bool GetResult() noexcept { return m_bResult; }
119 
120  //=====================================================================
121  // 限定公開変数
122  protected:
123  CJsonConfig& m_rcConfig; ///< JSON構成情報参照
124  CString m_cCurrPath; ///< JSONカレントパス
125  bool m_bResult; ///< 実行結果
126 
127  //=====================================================================
128  // 削除関数
129  private:
130  CJsonConfigAuto( CJsonConfigAuto const& ) = delete;
131  CJsonConfigAuto& operator=( CJsonConfigAuto const& ) = delete;
132  };
133 }
134 
135 #pragma managed( pop )
CString m_cCurrPath
JSONカレントパス
bool m_bResult
実行結果
CJsonConfigAuto(CJsonConfig &rcConfig, wchar_t const *pszSection, int nIndex, bool bClear=false) noexcept
コンストラクタ
CJsonConfigAuto(CJsonConfig &rcConfig, wchar_t const *pszSection, bool bClear=false) noexcept
コンストラクタ
CJsonConfigAuto(CJsonConfig &rcConfig, wchar_t const *pszSection, wchar_t const *pszPath, bool bClear=false) noexcept
コンストラクタ
JSONライブラリ名前空間
Definition: CJson.h:24
JSON構成情報クラスヘッダファイル
JSON構成情報クラス
Definition: CJsonConfig.h:31
CJsonConfig & m_rcConfig
JSON構成情報参照
JSON構成情報自動セクションブロッククラス
文字列クラス
Definition: CString.h:31
#define LIB_JSON_API
ダイナミックライブラリインポート宣言
Definition: LibJsonDef.h:29
virtual bool GetResult() noexcept
実行結果取得関数