Solution46
CFileStream.h
[詳解]
1 //=============================================================================
2 /// @file
3 /// ファイルストリームクラスヘッダファイル
4 ///
5 /// ファイルストリームクラスヘッダファイルです。
6 ///
7 /// $Id: CFileStream.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 <CFile.h>
19 #include <CStream.h>
20 
21 //=============================================================================
22 // 共通ライブラリ名前空間
23 namespace LibCommon {
24  //=========================================================================
25  /// ファイルストリームクラス
26  ///
27  /// ファイルストリームクラスです。
28  ///
29  /// @attention なし
30  ///
31  class LIB_COMMON_API CFileStream: public CFile, public CStream {
32  //=====================================================================
33  // 構築子と解体子
34  public:
35  //---------------------------------------------------------------------
36  /// コンストラクタ
37  ///
38  /// コンストラクタです。
39  ///
40  /// @param なし
41  /// @return なし
42  /// @attention なし
43  ///
44  explicit CFileStream() noexcept;
45 
46  //---------------------------------------------------------------------
47  /// デストラクタ
48  ///
49  /// デストラクタです。
50  ///
51  /// @param なし
52  /// @return なし
53  /// @attention なし
54  ///
55  virtual ~CFileStream() noexcept {}
56 
57  //=====================================================================
58  // 公開関数
59  public:
60  //---------------------------------------------------------------------
61  /// 文字列出力関数
62  ///
63  /// 文字列出力関数です。
64  ///
65  /// @param[in] pszString 文字列ポインタ
66  /// @return 実行結果
67  /// - true 成功
68  /// - false 失敗
69  /// @attention オーバーライド関数です。
70  ///
71  virtual bool OutputString( wchar_t const* pszString ) noexcept override;
72 
73  //---------------------------------------------------------------------
74  /// 1文字入力関数
75  ///
76  /// 1文字入力関数です。
77  ///
78  /// @param[out] rCh 文字コード参照
79  /// @return 実行結果
80  /// - true 成功
81  /// - false 失敗
82  /// @attention オーバーライド関数です。
83  ///
84  virtual bool InputChar( wchar_t& rCh ) noexcept override;
85 
86  //---------------------------------------------------------------------
87  /// ストリームサイズ取得関数
88  ///
89  /// ストリームサイズ取得関数です。
90  ///
91  /// @param なし
92  /// @return ストリームサイズ
93  /// @attention オーバーライド関数です。
94  ///
95  virtual int GetStreamSize() const noexcept override;
96 
97  //---------------------------------------------------------------------
98  /// ストリームポインタ取得関数
99  ///
100  /// ストリームポインタ取得関数です。
101  ///
102  /// @param なし
103  /// @return ストリームポインタ
104  /// @attention オーバーライド関数です。
105  ///
106  virtual int GetStreamPoint() const noexcept override;
107 
108  //---------------------------------------------------------------------
109  /// ストリームポインタ設定関数
110  ///
111  /// ストリームポインタ設定関数です。
112  ///
113  /// @param[in] nPoint ストリームポインタ
114  /// @return 実行結果
115  /// - true 成功
116  /// - false 失敗
117  /// @attention オーバーライド関数です。
118  ///
119  virtual bool SetStreamPoint( int nPoint ) noexcept override;
120 
121  //---------------------------------------------------------------------
122  /// ストリーム終端設定関数
123  ///
124  /// ストリーム終端設定関数です。
125  ///
126  /// @param なし
127  /// @return 実行結果
128  /// - true 成功
129  /// - false 失敗
130  /// @attention オーバーライド関数です。
131  ///
132  virtual bool SetStreamEnd() noexcept override;
133 
134  //=====================================================================
135  // 削除関数
136  private:
137  CFileStream( CFileStream const& ) = delete;
138  CFileStream& operator=( CFileStream const& ) = delete;
139  };
140 }
141 
142 #pragma managed( pop )
ファイル入出力クラス
Definition: CFile.h:34
ファイルストリームクラス
Definition: CFileStream.h:31
共通ライブラリ名前空間
Definition: CArray.h:23
ストリームクラス
Definition: CStream.h:31
ストリームクラスヘッダファイル
virtual ~CFileStream() noexcept
デストラクタ
Definition: CFileStream.h:55
ファイル入出力クラスヘッダファイル
#define LIB_COMMON_API
ダイナミックライブラリインポート宣言
Definition: LibCommonDef.h:44