13GX_CORE_NAMESPACE_BEGIN()
36 ATTRIBUTE_SEEKABLE = (1 << 0),
37 ATTRIBUTE_CANCELED = (1 << 1)
63 virtual u32
read(
void* , u32 ){
return 0; }
65 virtual u32
write(
const void* , u32 ){
return 0; }
85 virtual u32
getSize(
void)
const {
return 0; }
91 virtual b32 isEnd(
void)
const {
return (getSize() == getPosition()); }
94 GX_FORCE_INLINE s32
getRemainSize(
void)
const {
return static_cast<s32
>(getSize() - getPosition()); }
96 GX_FORCE_INLINE
b32 isCanceled(
void)
const {
return getAttribute(ATTRIBUTE_CANCELED); }
168 void close(
void) override;
170 u32
read(
void* pDst, u32 size) override;
172 u32
write(const
void* pSrc, u32 size) override;
174 void flush(
void) override;
176 u32
seek(s32 offset,
GxFile::SEEK_TYPE seekType =
GxFile::SEEK_TYPE::BEGIN) override;
180 b32 isHitCache(
void) const;
182 b32 readToCache(
void);
184 u32 readFromCache(
void* pDst, u32 size);
187 b32 isFlushCache(
void) const;
189 u32 writeToCache(const
void* pSrc, u32 size);
191 b32 flushCache(
void);
202 u32
getSize(
void) const override;
218 GX_FORCE_INLINE static
void setConfig(u32 readBufferSize, u32 writeBufferSize)
234 void* _pReadCacheBuffer;
235 u32 _readCachePosition;
237 void* _pWriteCacheBuffer;
238 u32 _writeCachePosition;
288 u32
read(
void* pDst, u32 size)
override;
290 u32
write(
const void* pSrc, u32 size)
override;
306 GX_FORCE_INLINE u32
getPosition(
void)
const override {
return _position; }
308 GX_FORCE_INLINE u32
getSize(
void)
const override {
return _size; }
311 GX_FORCE_INLINE
b32 isReadable(
void)
const override {
return (_pBuffer !=
nullptr); }
313 GX_FORCE_INLINE
b32 isWritable(
void)
const override {
return (_pBuffer !=
nullptr); }
316 constexpr void*
getBuffer(
void)
const {
return _pBuffer; }
318 GX_FORCE_INLINE
void*
getCurrent(
void)
const {
return reinterpret_cast<u8*
>(_pBuffer) + _position; }
330 b32 _isAllocateMemory;
375 u32
read(
void* pDst, u32 size)
override;
377 u32
write(
const void* pSrc, u32 size)
override;
386 GX_FORCE_INLINE u32
getSize(
void)
const override {
return _size; }
389 constexpr u32
getFreeSize(
void)
const {
return _size - _usedSize; }
445 u32
read(
void* pDst, u32 size)
override;
450 GX_FORCE_INLINE
void*
reserve(u32 ) { GX_ASSERT(
false,
"reserve is not impl.");
return nullptr; }
461 GX_FORCE_INLINE u32
getPosition(
void)
const override {
return _position; }
463 GX_FORCE_INLINE u32
getSize(
void)
const override {
return _size; }
466 GX_FORCE_INLINE
b32 isReadable(
void)
const override {
return (_pBuffer !=
nullptr); }
478 void* _pDecoderHandle;
490GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
メモリアロケータ基底クラス
Definition GxAllocator.h:82
ALLOCATOR_TYPE
アロケータ定義
Definition GxAllocator.h:355
オブジェクト基底クラス
Definition GxBase.h:88
ファイル管理クラス
Definition GxFile.h:157
SEEK_TYPE
シークタイプ
Definition GxFile.h:201
ファイルストリームクラス
Definition GxStream.h:124
void close(void) override
クローズ
Definition GxStream.cpp:193
void flush(void) override
フラッシュ
Definition GxStream.cpp:255
u32 write(const void *pSrc, u32 size) override
書き込み
Definition GxStream.cpp:231
static u32 _readCacheBufferSize
読み込みキャッシュバッファサイズ
Definition GxStream.h:139
static u32 _writeCacheBufferSize
書き込みキャッシュバッファサイズ
Definition GxStream.h:141
u32 read(void *pDst, u32 size) override
読み込み
Definition GxStream.cpp:204
u32 getFileOffset(void) const
ファイルオフセット取得
Definition GxStream.cpp:353
static constexpr u32 CACHE_BUFFER_SIZE
デフォルトキャッシュサイズ (byte)
Definition GxStream.h:136
u32 getPosition(void) const override
ストリーム位置を取得
Definition GxStream.cpp:296
b32 isReadable(void) const override
読み込み可能判定
Definition GxStream.cpp:314
void terminate(void)
終了
Definition GxStream.cpp:181
b32 isWritable(void) const override
書き込み可能判定
Definition GxStream.cpp:324
u32 getFilePosition(void) const
ファイル位置取得
Definition GxStream.cpp:344
static GX_FORCE_INLINE void setConfig(u32 readBufferSize, u32 writeBufferSize)
Definition GxStream.h:218
u32 seek(s32 offset, GxFile::SEEK_TYPE seekType=GxFile::SEEK_TYPE::BEGIN) override
シーク
Definition GxStream.cpp:269
void initialize(GxFile *pFile, u32 offset=0, u32 size=0)
初期化
Definition GxStream.cpp:143
u32 getSize(void) const override
ストリームサイズ取得
Definition GxStream.cpp:305
GX_CSTR getFileName(void) const
ファイル名取得
Definition GxStream.cpp:334
算術演算クラス
Definition GxMath.h:84
static constexpr u32 VALUE_32K
32K
Definition GxMath.h:134
static GX_FORCE_INLINE T getMax(const T value0, const T value1)
大きいほうを取得
Definition GxMath.h:174
ALIGNMENT
メモリアライメント定義
Definition GxMemory.h:51
@ _16
16byteアライメント
Definition GxMemory.h:54
メモリストリームクラス
Definition GxStream.h:248
b32 initialize(u32 size, GxMemory::ALIGNMENT alignment=GxMemory::ALIGNMENT::_16)
初期化 (新規メモリ確保)
Definition GxStream.cpp:616
GxMemoryStream(GxAllocatorList::ALLOCATOR_TYPE allocatorType=GxAllocatorList::ALLOCATOR_TYPE::TEMPORARY)
コンストラクタ
Definition GxStream.cpp:580
GX_FORCE_INLINE void * getCurrent(void) const
カレントアドレス取得
Definition GxStream.h:318
GX_FORCE_INLINE u32 getPosition(void) const override
ストリーム位置を取得
Definition GxStream.h:306
constexpr void * getBuffer(void) const
先頭アドレス取得
Definition GxStream.h:316
u32 read(void *pDst, u32 size) override
読み込み
Definition GxStream.cpp:720
GX_FORCE_INLINE u32 getSize(void) const override
ストリームサイズ取得
Definition GxStream.h:308
void alignment(GxMemory::ALIGNMENT alignment)
メモリアライメント調整
Definition GxStream.cpp:820
u32 write(const void *pSrc, u32 size) override
書き込み
Definition GxStream.cpp:742
~GxMemoryStream(void) override
デストラクタ
Definition GxStream.cpp:605
GX_FORCE_INLINE b32 isWritable(void) const override
書き込み可能判定
Definition GxStream.h:313
void terminate(void)
終了
Definition GxStream.cpp:700
u32 seek(s32 offset, GxFile::SEEK_TYPE seekType=GxFile::SEEK_TYPE::BEGIN) override
シーク
Definition GxStream.cpp:764
GX_FORCE_INLINE b32 isReadable(void) const override
読み込み可能判定
Definition GxStream.h:311
void * reserve(u32 size)
メモリ領域の確保
Definition GxStream.cpp:798
リングストリームクラス
Definition GxStream.h:339
void terminate(void)
終了
Definition GxStream.cpp:913
b32 initialize(u32 size, GxAllocator *pAllocator=nullptr, GxMemory::ALIGNMENT alignment=GxMemory::ALIGNMENT::_16)
初期化 (新規メモリ確保)
Definition GxStream.cpp:862
u32 read(void *pDst, u32 size) override
読み込み
Definition GxStream.cpp:929
constexpr u32 getFreeSize(void) const
空き領域サイズ取得
Definition GxStream.h:389
constexpr u32 getUsedSize(void) const
使用領域サイズ取得
Definition GxStream.h:391
GxRingStream(void)
コンストラクタ
Definition GxStream.cpp:837
u32 write(const void *pSrc, u32 size) override
書き込み
Definition GxStream.cpp:975
~GxRingStream(void) override
デストラクタ
Definition GxStream.cpp:850
GX_FORCE_INLINE u32 getSize(void) const override
ストリームサイズ取得
Definition GxStream.h:386
ストリーム基礎クラス
Definition GxStream.h:20
virtual u32 write(const void *, u32)
書き込み
Definition GxStream.h:65
virtual void flush(void)
フラッシュ
Definition GxStream.h:67
constexpr void setAttribute(ATTRIBUTE attribute)
Definition GxStream.h:100
constexpr void clearAttribute(ATTRIBUTE attribute)
Definition GxStream.h:103
virtual u32 seek(s32, GxFile::SEEK_TYPE=GxFile::SEEK_TYPE::BEGIN)
シーク
Definition GxStream.h:69
GX_FORCE_INLINE b32 getAttribute(ATTRIBUTE attribute) const
Definition GxStream.h:107
ATTRIBUTE
属性
Definition GxStream.h:35
virtual b32 isEnd(void) const
ファイル終端判定
Definition GxStream.h:91
virtual b32 isWritable(void) const
書き込み可能判定
Definition GxStream.h:89
virtual u32 getSize(void) const
ストリームサイズ取得
Definition GxStream.h:85
virtual b32 isReadable(void) const
読み込み可能判定
Definition GxStream.h:87
GX_FORCE_INLINE b32 isCanceled(void) const
キャンセルされた判定
Definition GxStream.h:96
~GxStream(void) override
デストラクタ
Definition GxStream.h:52
virtual u32 getPosition(void) const
ストリーム位置を取得
Definition GxStream.h:81
GxStream(void)
コンストラクタ (継承先でのみインスタンス生成)
Definition GxStream.h:50
GX_FORCE_INLINE s32 getRemainSize(void) const
残サイズ取得
Definition GxStream.h:94
virtual u32 read(void *, u32)
読み込み
Definition GxStream.h:63
virtual void close(void)
クローズ
Definition GxStream.h:61
virtual void setSize(u32)
ストリームサイズ設定
Definition GxStream.h:83
ストリーム読み込みクラス
Definition GxStreamReader.h:19
Zlibメモリストリームクラス
Definition GxStream.h:413
GX_FORCE_INLINE b32 isWritable(void) const override
書き込み可能判定
Definition GxStream.h:468
u32 seek(s32 offset, GxFile::SEEK_TYPE seekType=GxFile::SEEK_TYPE::BEGIN) override
シーク
Definition GxStream.cpp:1158
b32 initialize(GxStreamReader *pStreamReader, u32 chunkSizeByte)
初期化 (使用中に pStreamReader がスコープから外れないように注意)
Definition GxStream.cpp:1056
void alignment(GxMemory::ALIGNMENT alignment)
メモリアライメント調整 (使用できません)
Definition GxStream.cpp:1196
~GxZlibReadStream(void) override
デストラクタ
Definition GxStream.cpp:1044
u32 read(void *pDst, u32 size) override
読み込み
Definition GxStream.cpp:1117
GX_FORCE_INLINE u32 getSize(void) const override
ストリームサイズ取得
Definition GxStream.h:463
GX_FORCE_INLINE u32 getPosition(void) const override
ストリーム位置を取得
Definition GxStream.h:461
GX_FORCE_INLINE b32 isReadable(void) const override
読み込み可能判定
Definition GxStream.h:466
GX_FORCE_INLINE void * reserve(u32)
メモリ領域の確保 (使用できません)
Definition GxStream.h:450
GxZlibReadStream(void)
コンストラクタ
Definition GxStream.cpp:1027
32bitブーリアン
Definition GxDefine.h:173