キャッシュ書き込みクラス
[詳解]
#include <TnbCacheWriter.h>
|
virtual void | AddRaw (size_t size, LPCVOID P) |
| [追加] 追加. [詳解]
|
|
virtual bool | CanRead (void) const |
| [確認] 読み込み可能か [詳解]
|
|
virtual bool | CanWrite (void) const |
| [確認] 書込み可能か [詳解]
|
|
| CCacheWriter (void) |
| コンストラクタ [詳解]
|
|
virtual void | Close (void) |
| [操作] クローズ [詳解]
|
|
LONGLONG | GetLeftoverSize (void) const |
| [取得] 残りサイズ取得. [詳解]
|
|
virtual LPCTSTR | GetOpenName (void) const |
| [取得] オープン名取得 [詳解]
|
|
virtual void | GetRaw (size_t size, LPVOID _P) const |
| [取得] 取得. [詳解]
|
|
virtual LONGLONG | GetSize (void) const |
| [取得] サイズ取得 [詳解]
|
|
template<typename T > |
ISerializer & | operator<< (const T &t) |
| [追加] 追加. [詳解]
|
|
template<typename T > |
const IDeserializer & | operator>> (T &_t) const |
| [取得] 取得. [詳解]
|
|
virtual size_t | Read (size_t size, LPVOID _P) const |
| [取得] 読み込み [詳解]
|
|
void | ReadExactly (size_t size, LPVOID _P) const |
| [取得] 読み込み. [詳解]
|
|
CByteVector | ReadExactly (size_t size=0) const |
| [取得] 読み込み [詳解]
|
|
size_t | ReadInto (ICollectionT< BYTE > &_out, size_t size=0, size_t oneBlockSize=4096) const |
| [取得] 読み込み. [詳解]
|
|
CByteVector | ReadInto (size_t size=0) const |
| [取得] 読み込み [詳解]
|
|
virtual LONGLONG | Seek (LONGLONG llOffset, ESeekMode eSeek=TOP) const |
| [操作] シーク. [詳解]
|
|
virtual void | SetEnd (void) |
| [設定] EOFを指定. [詳解]
|
|
bool | SetWriter (IWriter *pfw, size_t size=10000) |
| [設定] ライター設定 [詳解]
|
|
virtual void | Write (size_t size, LPCVOID P) |
| [保存] 書き込み [詳解]
|
|
void | WriteFrom (const IConstCollectionT< BYTE > &c) |
| [保存] 書き込み. [詳解]
|
|
void | WriteFrom (const IReader &reader, size_t size=0, size_t oneBlockSize=4096) |
| [保存] 書き込み. [詳解]
|
|
| ~CCacheWriter (void) |
| デストラクタ [詳解]
|
|
キャッシュ書き込みクラス
- 覚え書き
- 読みこみはキャッシュしません。
- 使い方:
CFileWriter fw;
fw.New("NewFile.dat");
CTickCount t1;
try
{
cw.SetWriter(&fw, 1024 * 1024);
loop ( i, GetTextSize() )
{
s = GetText(i);
fw.Write(s.GetLength(), s.operator LPCTSTR());
}
}
catch ( CWriteFailureException& e )
{
e.OnCatch();
}
#define loop(VAR, CNT)
loop構文.
CCacheWriter(void)
コンストラクタ
TNB::CStrT< TCHAR > CStr
文字列クラス
- 必要ファイル
- TnbCacheWriter.h
- 日付
- 11/08/17 新規作成
TnbCacheWriter.h の 53 行目に定義があります。
◆ ESeekMode
シークのオフセット指定モード
列挙値 |
---|
TOP | 頭からのオフセット指定
|
CURRENT | 現在位置からのオフセット指定
|
END | 末からのオフセット指定
|
TnbReader.h の 38 行目に定義があります。
◆ CCacheWriter()
◆ ~CCacheWriter()
◆ AddRaw()
virtual void AddRaw |
( |
size_t |
size, |
|
|
LPCVOID |
P |
|
) |
| |
|
virtualinherited |
◆ CanRead()
virtual bool CanRead |
( |
void |
| ) |
const |
|
virtual |
◆ CanWrite()
virtual bool CanWrite |
( |
void |
| ) |
const |
|
virtual |
◆ Close()
virtual void Close |
( |
void |
| ) |
|
|
virtual |
◆ GetLeftoverSize()
LONGLONG GetLeftoverSize |
( |
void |
| ) |
const |
|
inherited |
[取得] 残りサイズ取得.
現在の位置から最後までのサイズを返します。
- 戻り値
-
TnbReader.h の 95 行目に定義があります。
◆ GetOpenName()
virtual LPCTSTR GetOpenName |
( |
void |
| ) |
const |
|
virtual |
◆ GetRaw()
virtual void GetRaw |
( |
size_t |
size, |
|
|
LPVOID |
_P |
|
) |
| const |
|
virtualinherited |
◆ GetSize()
virtual LONGLONG GetSize |
( |
void |
| ) |
const |
|
virtual |
◆ operator<<()
◆ operator>>()
◆ Read()
virtual size_t Read |
( |
size_t |
size, |
|
|
LPVOID |
_P |
|
) |
| const |
|
virtual |
[取得] 読み込み
- 引数
-
[in] | size | 読み込みサイズ。 |
[out] | _P | 読み込みアドレス。 size 分書き込める領域である必要が有ります。 |
- 戻り値
- 読み込めたサイズ。
- 例外
-
IReaderを実装しています。
TnbCacheWriter.h の 151 行目に定義があります。
◆ ReadExactly() [1/2]
void ReadExactly |
( |
size_t |
size, |
|
|
LPVOID |
_P |
|
) |
| const |
|
inherited |
[取得] 読み込み.
- 覚え書き
- 指定サイズ読めないとエラーになります。
- 引数
-
[in] | size | 読み込みサイズ。 |
[out] | _P | 読み込みアドレス。 size 分書き込める領域である必要が有ります。 |
- 例外
-
TnbReader.h の 114 行目に定義があります。
◆ ReadExactly() [2/2]
[取得] 読み込み
- 覚え書き
- 指定サイズ読めないとエラーになります。
- 引数
-
size | 読み込みサイズ。0ならファイル最後まで読み込む。 |
- 戻り値
- ByteVector ファイル内容(サイズは読み込めたサイズ)。
- 例外
-
TnbReader.h の 134 行目に定義があります。
◆ ReadInto() [1/2]
size_t ReadInto |
( |
ICollectionT< BYTE > & |
_out, |
|
|
size_t |
size = 0 , |
|
|
size_t |
oneBlockSize = 4096 |
|
) |
| const |
|
inherited |
[取得] 読み込み.
- 引数
-
[out] | _out | 読込先。クリアせず、後ろに追加します。 |
| size | 読み込みサイズ。省略か0ならファイル最後まで読み込む。 |
| oneBlockSize | 一度に読み込むサイズ。省略なら4K。 |
- 戻り値
- 読み込めたサイズ。
- 例外
-
TnbReader.h の 178 行目に定義があります。
◆ ReadInto() [2/2]
[取得] 読み込み
- 引数
-
size | 読み込みサイズ。0ならファイル最後まで読み込む。 |
- 戻り値
- ByteVector ファイル内容(サイズは読み込めたサイズ)。
- 例外
-
TnbReader.h の 150 行目に定義があります。
◆ Seek()
virtual LONGLONG Seek |
( |
LONGLONG |
llOffset, |
|
|
ESeekMode |
eSeek = TOP |
|
) |
| const |
|
virtual |
[操作] シーク.
アクセスポインタを移動します。
- 引数
-
llOffset | アクセスポインタの移動数。 |
eSeek | 移動開始アクセスポインタ位置。省略すると TOP になります。 |
- 戻り値
-
0以上 | シーク成功。数値は、現在のファイルポインタ |
マイナス | シーク失敗 |
IReaderを実装しています。
TnbCacheWriter.h の 138 行目に定義があります。
◆ SetEnd()
virtual void SetEnd |
( |
void |
| ) |
|
|
virtual |
◆ SetWriter()
bool SetWriter |
( |
IWriter * |
pfw, |
|
|
size_t |
size = 10000 |
|
) |
| |
[設定] ライター設定
- 引数
-
pfw | オープンしてあるWriterを指定します。 Openしていないオブジェクトを渡すと失敗します。 pfw は参照しますので、使用中は破棄しないで下さい。 |
size | キャッシュサイズ |
- 戻り値
-
TnbCacheWriter.h の 77 行目に定義があります。
◆ Write()
virtual void Write |
( |
size_t |
size, |
|
|
LPCVOID |
P |
|
) |
| |
|
virtual |
◆ WriteFrom() [1/2]
◆ WriteFrom() [2/2]
void WriteFrom |
( |
const IReader & |
reader, |
|
|
size_t |
size = 0 , |
|
|
size_t |
oneBlockSize = 4096 |
|
) |
| |
|
inherited |
[保存] 書き込み.
- 覚え書き
- reader の現在の位置から読み出し、書き込みます。
- 引数
-
reader | 書き込みデータ 。 |
size | 読み込みサイズ。省略か0ならファイル最後まで読み込む。 |
oneBlockSize | 一度に読み込むサイズ。省略なら4K。 |
- 例外
-
TnbWriter.h の 85 行目に定義があります。