35 virtual size_t read(uint8_t* buffer,
size_t p_size) = 0;
51 virtual size_t writeBytes(
const uint8_t* buffer,
size_t p_size) = 0;
65 virtual bool skip(int64_t p_size) = 0;
71 virtual uint64_t
tell(
void) = 0;
85 virtual bool seek(uint64_t offset) = 0;
Copyright (C) 2016-2021 Grok Image Compression Inc.
Definition: ICacheable.h:20
Definition: IBufferedStream.h:20
virtual bool write64(uint64_t value)=0
virtual uint8_t * getZeroCopyPtr()=0
virtual bool writeInt(uint32_t value)=0
virtual bool supportsZeroCopy()=0
virtual size_t read(uint8_t *buffer, size_t p_size)=0
Reads some bytes from the stream.
virtual bool skip(int64_t p_size)=0
Skip bytes in stream, forward or reverse.
virtual uint64_t numBytesLeft(void)=0
Get number of bytes left before end of the stream.
virtual bool hasSeek()=0
Check if stream is seekable.
virtual bool seek(uint64_t offset)=0
Seek to absolute offset in stream.
virtual uint64_t tell(void)=0
Tell byte offset in stream (similar to ftell).
virtual size_t writeBytes(const uint8_t *buffer, size_t p_size)=0
Write bytes to the stream.
virtual bool flush()=0
Flush write stream to disk.
virtual bool writeByte(uint8_t value)=0
virtual bool write24(uint32_t value)=0
virtual bool writeShort(uint16_t value)=0
virtual ~IBufferedStream()=default