Grok 10.0.0
Public Member Functions | List of all members
grk::IBufferedStream Struct Referenceabstract

#include <IBufferedStream.h>

Inheritance diagram for grk::IBufferedStream:
grk::BufferedStream

Public Member Functions

virtual ~IBufferedStream ()=default
 
virtual bool supportsZeroCopy ()=0
 
virtual uint8_t * getZeroCopyPtr ()=0
 
virtual size_t read (uint8_t *buffer, size_t p_size)=0
 Reads some bytes from the stream. More...
 
virtual bool writeShort (uint16_t value)=0
 
virtual bool write24 (uint32_t value)=0
 
virtual bool writeInt (uint32_t value)=0
 
virtual bool write64 (uint64_t value)=0
 
virtual bool writeByte (uint8_t value)=0
 
virtual size_t writeBytes (const uint8_t *buffer, size_t p_size)=0
 Write bytes to the stream. More...
 
virtual bool flush ()=0
 Flush write stream to disk. More...
 
virtual bool skip (int64_t p_size)=0
 Skip bytes in stream, forward or reverse. More...
 
virtual uint64_t tell (void)=0
 Tell byte offset in stream (similar to ftell). More...
 
virtual uint64_t numBytesLeft (void)=0
 Get number of bytes left before end of the stream. More...
 
virtual bool seek (uint64_t offset)=0
 Seek to absolute offset in stream. More...
 
virtual bool hasSeek ()=0
 Check if stream is seekable. More...
 

Constructor & Destructor Documentation

◆ ~IBufferedStream()

virtual grk::IBufferedStream::~IBufferedStream ( )
virtualdefault

Member Function Documentation

◆ flush()

virtual bool grk::IBufferedStream::flush ( )
pure virtual

Flush write stream to disk.

Returns
true if the data could be flushed, otherwise false.

Implemented in grk::BufferedStream.

Referenced by grk::CodeStreamCompress::write_eoc().

◆ getZeroCopyPtr()

virtual uint8_t * grk::IBufferedStream::getZeroCopyPtr ( )
pure virtual

◆ hasSeek()

virtual bool grk::IBufferedStream::hasSeek ( )
pure virtual

Check if stream is seekable.

(A stdin/stdout stream is not seekable).

Returns
true if stream is seekable, otherwise false

Implemented in grk::BufferedStream.

◆ numBytesLeft()

virtual uint64_t grk::IBufferedStream::numBytesLeft ( void  )
pure virtual

◆ read()

virtual size_t grk::IBufferedStream::read ( uint8_t *  buffer,
size_t  p_size 
)
pure virtual

Reads some bytes from the stream.

Parameters
bufferpointer to the data buffer that will receive the data. If null, then a zero copy read is performed
p_sizenumber of bytes to read.
Returns
the number of bytes read

Implemented in grk::BufferedStream.

Referenced by grk::TileProcessor::cacheTilePartPackets(), grk::CodeStreamDecompress::process_marker(), grk::FileFormatDecompress::read_box_hdr(), grk::CodeStreamDecompress::read_short(), and grk::CodeStreamDecompress::read_soc().

◆ seek()

virtual bool grk::IBufferedStream::seek ( uint64_t  offset)
pure virtual

Seek to absolute offset in stream.

Parameters
offsetabsolute offset in stream
Returns
true if successful, otherwise false.

Implemented in grk::BufferedStream.

Referenced by grk::TileLengthMarkers::seek(), grk::CodeStreamInfo::seekFirstTilePart(), grk::SOTMarker::write_psot(), and grk::TileLengthMarkers::writeEnd().

◆ skip()

virtual bool grk::IBufferedStream::skip ( int64_t  p_size)
pure virtual

Skip bytes in stream, forward or reverse.

Parameters
p_sizethe number of bytes to skip.
Returns
true if successful, otherwise false.

Implemented in grk::BufferedStream.

Referenced by grk::CodeStreamDecompress::parseTileParts(), and grk::TileLengthMarkers::writeBegin().

◆ supportsZeroCopy()

virtual bool grk::IBufferedStream::supportsZeroCopy ( )
pure virtual

◆ tell()

virtual uint64_t grk::IBufferedStream::tell ( void  )
pure virtual

◆ write24()

virtual bool grk::IBufferedStream::write24 ( uint32_t  value)
pure virtual

◆ write64()

virtual bool grk::IBufferedStream::write64 ( uint64_t  value)
pure virtual

Implemented in grk::BufferedStream.

◆ writeByte()

virtual bool grk::IBufferedStream::writeByte ( uint8_t  value)
pure virtual

◆ writeBytes()

virtual size_t grk::IBufferedStream::writeBytes ( const uint8_t *  buffer,
size_t  p_size 
)
pure virtual

Write bytes to the stream.

Parameters
bufferpointer to the data buffer to be written.
p_sizenumber of bytes to write.
Returns
the number of bytes written, or -1 if an error occurred.

Implemented in grk::BufferedStream.

Referenced by grk::T2Compress::compressPacket(), grk::PLMarkerMgr::write(), grk::CodeStreamCompress::write_com(), and grk::CodeStreamCompress::write_mct_record().

◆ writeInt()

virtual bool grk::IBufferedStream::writeInt ( uint32_t  value)
pure virtual

◆ writeShort()

virtual bool grk::IBufferedStream::writeShort ( uint16_t  value)
pure virtual

The documentation for this struct was generated from the following file: