/** A non-seekable input stream that implements run-length decompression. */ class VbaInputStream final : public BinaryInputStream
{ public: explicit VbaInputStream( BinaryInputStream& rInStrm );
/** Returns -1, stream size is not determinable. */ virtual sal_Int64 size() const override; /** Returns -1, stream position is not tracked. */ virtual sal_Int64 tell() const override; /** Does nothing, stream is not seekable. */ virtualvoid seek( sal_Int64 nPos ) override; /** Closes the input stream but not the wrapped stream. */ virtualvoid close() override;
/** Reads nBytes bytes to the passed sequence.
@return Number of bytes really read. */ virtual sal_Int32 readData( StreamDataSequence& orData, sal_Int32 nBytes, size_t nAtomSize = 1 ) override; /** Reads nBytes bytes to the (existing) buffer opMem.
@return Number of bytes really read. */ virtual sal_Int32 readMemory( void* opMem, sal_Int32 nBytes, size_t nAtomSize = 1 ) override; /** Seeks the stream forward by the passed number of bytes. */ virtualvoid skip( sal_Int32 nBytes, size_t nAtomSize = 1 ) override;
private: /** If no data left in chunk buffer, reads the next chunk from stream. */ bool updateChunk();
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.