22 #ifndef COMMON_SUBSTREAM_H 23 #define COMMON_SUBSTREAM_H 25 #include "common/mutex.h" 26 #include "common/ptr.h" 27 #include "common/stream.h" 28 #include "common/types.h" 56 SubReadStream(
ReadStream *parentStream, uint32 end, DisposeAfterUse::Flag disposeParentStream = DisposeAfterUse::NO)
57 : _parentStream(parentStream, disposeParentStream),
64 bool eos()
const override {
return _eos || _parentStream->eos(); }
65 bool err()
const override {
return _parentStream->err(); }
66 void clearErr()
override { _eos =
false; _parentStream->clearErr(); }
67 uint32
read(
void *dataPtr, uint32 dataSize)
override;
85 int64
pos()
const override {
return _pos - _begin; }
86 int64
size()
const override {
return _end - _begin; }
88 bool seek(int64 offset,
int whence = SEEK_SET)
override;
110 uint32
read(
void *dataPtr, uint32 dataSize)
override;
126 uint32
read(
void *dataPtr, uint32 dataSize)
override;
uint32 read(void *dataPtr, uint32 dataSize) override
Definition: substream.h:120
Definition: substream.h:104
bool eos() const override
Definition: substream.h:64
void clearErr() override
Definition: substream.h:66
Definition: substream.h:78
Definition: algorithm.h:29
bool err() const override
Definition: substream.h:65
int64 pos() const override
Definition: substream.h:85
Definition: substream.h:49
int64 size() const override
Definition: substream.h:86