mFrame
載入中...
搜尋中...
無符合項目
SimpleWriter.h
1
7#ifndef MFRAME_C392B6F5_79C0_4D0A_9890_DFFFB0E6FFC7
8#define MFRAME_C392B6F5_79C0_4D0A_9890_DFFFB0E6FFC7
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15
16//----------------------------------------------------------------------------------------
17#include "./../lang/Appendable.h"
18#include "./../lang/Data.h"
19#include "./../lang/Refreshable.h"
20
21/* ***************************************************************************************
22 * Namespace
23 */
24namespace ufm::io {
25 class SimpleWriter;
26} // namespace ufm::io
27
28/* ***************************************************************************************
29 * Class/Interface/Struct/Enum
30 */
31
44 /* *************************************************************************************
45 * Variable
46 */
47 private:
48 int vPosition;
49
50 /* *************************************************************************************
51 * Abstract Method
52 */
53
54 /* *************************************************************************************
55 * Construct Method
56 */
57 public:
64
70 inline SimpleWriter(void* pointer, int length)
71 : SimpleWriter(ufm::lang::Data(pointer, length)) {
72 return;
73 }
74
78 virtual ~SimpleWriter(void) override;
79
80 /* *************************************************************************************
81 * Operator Method
82 */
83
84 /* *************************************************************************************
85 * Override Method - ufm::lang::Appendalbe
86 */
87 public:
93 virtual int remaining(void) const override;
94
101 virtual int putByte(const char data) override;
102
111 virtual int put(ufm::lang::Readable& readable) override;
112
122 virtual int put(const void* pointer, int length) override;
123
124 /* *************************************************************************************
125 * Override Method - ufm::lang::Refreshable
126 */
127 public:
136 virtual void refresh(void) override;
137
138 /* *************************************************************************************
139 * Public Method
140 */
141
142 /* *************************************************************************************
143 * Protected Method
144 */
145
146 /* *************************************************************************************
147 * Private Method
148 */
149
150 /* *************************************************************************************
151 * Static Variable
152 */
153
154 /* *************************************************************************************
155 * Static Method
156 */
157};
158
159/* ***************************************************************************************
160 * End of file
161 */
162
163#endif /* MFRAME_C392B6F5_79C0_4D0A_9890_DFFFB0E6FFC7 */
提供資料寫入功能的簡易實現類
Definition SimpleWriter.h:43
virtual ~SimpleWriter(void) override
銷毀物件,釋放相關資源
SimpleWriter(const ufm::lang::Data &source)
使用指定的資料來源建立寫入器
virtual int remaining(void) const override
取得緩衝區剩餘空閒字節數。
virtual int put(ufm::lang::Readable &readable) override
從 Readable 物件附加資料至緩衝區
SimpleWriter(void *pointer, int length)
使用指定的資料來源建立寫入器
Definition SimpleWriter.h:70
virtual void refresh(void) override
刷新當前狀態或資料
virtual int putByte(const char data) override
輸入單一字節至緩衝區
virtual int put(const void *pointer, int length) override
從記憶體指標附加資料至緩衝區
資料處理類別
Definition Data.h:43
int length(void) const
取得資料有效長度
Definition Data.h:139
Data(void)
建立新的 Data 物件
E * pointer(void) const
模板方法,取得內部指標並轉換為指定型態(不指定偏移)
Definition Pointer.h:398
Definition Buffer.h:24
資料附加介面 (Appendable)
Definition Appendable.h:43
[Interface] 定義資料讀取介面
Definition Readable.h:46
[Interface] 定義可刷新物件的行為
Definition Refreshable.h:38