44 virtual size_t read(uint8_t* buffer,
size_t p_size) = 0;
60 virtual size_t writeBytes(
const uint8_t* buffer,
size_t p_size) = 0;
74 virtual bool skip(int64_t p_size) = 0;
80 virtual uint64_t
tell(
void) = 0;
94 virtual bool seek(uint64_t offset) = 0;
enum _GRK_CODEC_FORMAT GRK_CODEC_FORMAT
Supported JPEG 2000 formats.
size_t(* grk_stream_read_fn)(uint8_t *buffer, size_t numBytes, void *user_data)
Definition: grok_private.h:29
bool(* grk_stream_seek_fn)(uint64_t numBytes, void *user_data)
Definition: grok_private.h:38
void(* grk_stream_free_user_data_fn)(void *user_data)
Definition: grok_private.h:42
size_t(* grk_stream_write_fn)(const uint8_t *buffer, size_t numBytes, void *user_data)
Definition: grok_private.h:34
Copyright (C) 2016-2022 Grok Image Compression Inc.
Definition: ICacheable.h:20
size_t(* grk_stream_zero_copy_read_fn)(void **buffer, size_t numBytes, void *user_data)
Definition: MemStream.h:30
HWY_DLLEXPORT HWY_NORETURN void int const char * format
Definition: base.h:848
Definition: IBufferedStream.h:20
virtual void setReadFunction(grk_stream_read_fn fn)=0
virtual void setFormat(GRK_CODEC_FORMAT format)=0
virtual void setWriteFunction(grk_stream_write_fn fn)=0
virtual bool write64(uint64_t value)=0
virtual uint8_t * getZeroCopyPtr()=0
virtual uint32_t getStatus(void)=0
virtual void setUserDataLength(uint64_t len)=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 GRK_CODEC_FORMAT getFormat(void)=0
virtual void setSeekFunction(grk_stream_seek_fn fn)=0
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 void setZeroCopyReadFunction(grk_stream_zero_copy_read_fn fn)=0
virtual void setUserData(void *data, grk_stream_free_user_data_fn freeUserDataFun)=0
virtual bool write24(uint32_t value)=0
virtual bool writeShort(uint16_t value)=0
virtual void * getUserData(void)=0
virtual ~IBufferedStream()=default