34 const BYTE* m_pbcConstPtr;
38 mutable LONGLONG m_llPos;
63 : m_pbcConstPtr(static_cast<const BYTE*>(P))
79 , m_pbPtr(static_cast<BYTE*>(P))
113 return m_pbcConstPtr == NULL;
123 if ( m_pbcConstPtr != NULL || m_pbPtr != NULL )
151 p = m_llPos + llOffset;
160 if ( m_pbcConstPtr == NULL && m_pbPtr == NULL )
180 virtual size_t Read(
size_t size, LPVOID _P)
const
182 const BYTE* B = NULL;
183 if ( m_pbcConstPtr != NULL )
187 else if ( m_pbPtr != NULL )
200 BYTE* Q =
static_cast<BYTE*
>(_P);
212 virtual void Write(
size_t size, LPCVOID P)
214 if ( m_pbcConstPtr != NULL )
218 if ( m_pbPtr != NULL )
224 MemCopy(&m_pbPtr[m_llPos],
static_cast<const BYTE*
>(P), size);
228 if ( m_llPos + size > m_vbContent.
GetSize() )
232 const BYTE* B =
static_cast<const BYTE*
>(P);
235 m_vbContent.
Set(
ToInt(m_llPos + i), *B++);
248 if ( m_pbcConstPtr != NULL && m_pbPtr != NULL )
#define loop(VAR, CNT)
loop構文.
virtual bool Set(INDEX index, const TYP &t)
[設定] 要素の設定.
virtual LONGLONG Seek(LONGLONG llOffset, ESeekMode eSeek=TOP) const
[操作] シーク.
virtual size_t Read(size_t size, LPVOID _P) const
[取得] 読み込み
CLikenMemToFile(size_t size, LPCVOID P)
コンストラクタ.
virtual LONGLONG GetSize(void) const
[取得] サイズ取得
virtual bool CanRead(void) const
[確認] 読み込み可能か
CLikenMemToFile(size_t size, LPVOID P)
コンストラクタ.
virtual LPCTSTR GetOpenName(void) const
[取得] オープン名取得
virtual void Close(void)
[操作] クローズ
virtual void Write(size_t size, LPCVOID P)
[保存] 書き込み
virtual void SetEnd(void)
[設定] EOFを指定.
virtual bool CanWrite(void) const
[確認] 書込み可能か
CLikenMemToFile(size_t size=0)
コンストラクタ.
virtual size_t GetSize(void) const
[取得] サイズ取得
virtual bool SetSize(size_t size)
[操作] サイズ指定
virtual const TYP * ReferBuffer(void) const
[取得] データアドレス取得
int ToInt(LPCSTR lpsz, int iBase=10)
[変換] INT変換(ASCII/SJIS用).
void MemCopy(T *_pDst, const void *pSrc, size_t len)
[複製] メモリコピー
LONGLONG GetLeftoverSize(void) const
[取得] 残りサイズ取得.