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;
Definition: substream.h:120
uint32 read(void *dataPtr, uint32 dataSize) override
Definition: substream.h:104
uint32 read(void *dataPtr, uint32 dataSize) override
Definition: substream.h:78
int64 pos() const override
Definition: substream.h:85
int64 size() const override
Definition: substream.h:86
bool seek(int64 offset, int whence=SEEK_SET) override
Definition: substream.h:49
bool eos() const override
Definition: substream.h:64
void clearErr() override
Definition: substream.h:66
bool err() const override
Definition: substream.h:65
uint32 read(void *dataPtr, uint32 dataSize) override
Definition: algorithm.h:29