Open 3D Engine AzCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::IO::CompressorStream Class Reference

#include <CompressorStream.h>

Inherits AZ::IO::GenericStream.

Public Member Functions

 AZ_CLASS_ALLOCATOR (CompressorStream, SystemAllocator)
 
 CompressorStream (const char *filename, OpenMode flags=OpenMode())
 
 CompressorStream (GenericStream *stream, bool ownStream)
 
bool IsOpen () const override
 
bool CanSeek () const override
 
bool CanRead () const override
 
bool CanWrite () const override
 
void Seek (OffsetType bytes, SeekMode mode) override
 
SizeType Read (SizeType bytes, void *oBuffer) override
 
SizeType Write (SizeType bytes, const void *iBuffer) override
 
SizeType GetCurPos () const override
 
SizeType GetLength () const override
 Retrieves the length of the stream(which is the compressed length)
 
SizeType ReadAtOffset (SizeType bytes, void *oBuffer, OffsetType offset) override
 
SizeType WriteAtOffset (SizeType bytes, const void *iBuffer, OffsetType offset) override
 
bool IsCompressed () const override
 
const char * GetFilename () const override
 
OpenMode GetModeFlags () const override
 
bool ReOpen () override
 
void Close () override
 
GenericStreamGetWrappedStream () const
 
bool WriteCompressedHeader (AZ::u32 compressorId, int compressionLevel=10, SizeType autoSeekDataSize=0)
 
bool WriteCompressedSeekPoint ()
 
SizeType GetCompressedLength () const
 Retrieves the length of the stream, which corresponds to the compressed length.
 
SizeType GetUncompressedLength () const
 Retrieves the length of the uncompressed data from the CompressorData structure.
 
void SetCompressorData (CompressorData *compressorData)
 
CompressorDataGetCompressorData () const
 
- Public Member Functions inherited from AZ::IO::GenericStream
virtual bool IsOpen () const =0
 
virtual bool CanSeek () const =0
 
virtual bool CanRead () const =0
 
virtual bool CanWrite () const =0
 
virtual void Seek (OffsetType bytes, SeekMode mode)=0
 
virtual SizeType Read (SizeType bytes, void *oBuffer)=0
 
virtual SizeType Write (SizeType bytes, const void *iBuffer)=0
 
virtual SizeType WriteFromStream (SizeType bytes, GenericStream *inputStream)
 
virtual SizeType GetCurPos () const =0
 
virtual SizeType GetLength () const =0
 
virtual SizeType ReadAtOffset (SizeType bytes, void *oBuffer, OffsetType offset=-1)
 
virtual SizeType WriteAtOffset (SizeType bytes, const void *iBuffer, OffsetType offset=-1)
 
virtual bool IsCompressed () const
 
virtual const char * GetFilename () const
 
virtual OpenMode GetModeFlags () const
 
virtual bool ReOpen ()
 
virtual void Close ()
 

Protected Member Functions

bool ReadCompressedHeader ()
 
CompressorCreateCompressor (AZ::u32 compressorId)
 
- Protected Member Functions inherited from AZ::IO::GenericStream
SizeType ComputeSeekPosition (OffsetType bytes, SeekMode mode)
 

Protected Attributes

GenericStreamm_stream
 Underlying stream to use for reading and writing raw data.
 
bool m_isStreamOwner
 Boolean which determines whether this class is responsible for ownership of the stream.
 
AZStd::unique_ptr< CompressorDatam_compressorData
 CompressorData structure used for containing metadata related to the compressor in use.
 
AZStd::unique_ptr< Compressorm_compressor
 Compressor object responsible for performing compressions/decompression.
 

Additional Inherited Members

- Public Types inherited from AZ::IO::GenericStream
enum  SeekMode { ST_SEEK_BEGIN , ST_SEEK_CUR , ST_SEEK_END }
 
- Static Public Attributes inherited from AZ::IO::GenericStream
static constexpr size_t StreamToStreamCopyBufferSize = 256
 

Detailed Description

CompressorStream wrap a GenericStream and runs the streaming functions through the supplied compressor

Member Function Documentation

◆ CanRead()

bool AZ::IO::CompressorStream::CanRead ( ) const
overridevirtual

Implements AZ::IO::GenericStream.

◆ CanSeek()

bool AZ::IO::CompressorStream::CanSeek ( ) const
inlineoverridevirtual

Implements AZ::IO::GenericStream.

◆ CanWrite()

bool AZ::IO::CompressorStream::CanWrite ( ) const
overridevirtual

Implements AZ::IO::GenericStream.

◆ Close()

void AZ::IO::CompressorStream::Close ( )
overridevirtual

Reimplemented from AZ::IO::GenericStream.

◆ GetCurPos()

SizeType AZ::IO::CompressorStream::GetCurPos ( ) const
overridevirtual

Implements AZ::IO::GenericStream.

◆ GetFilename()

const char * AZ::IO::CompressorStream::GetFilename ( ) const
overridevirtual

Reimplemented from AZ::IO::GenericStream.

◆ GetLength()

SizeType AZ::IO::CompressorStream::GetLength ( ) const
inlineoverridevirtual

Retrieves the length of the stream(which is the compressed length)

Returns
length of the stream < Calls GetCompressedLength underneath the hood

Implements AZ::IO::GenericStream.

◆ GetModeFlags()

OpenMode AZ::IO::CompressorStream::GetModeFlags ( ) const
overridevirtual

Reimplemented from AZ::IO::GenericStream.

◆ IsCompressed()

bool AZ::IO::CompressorStream::IsCompressed ( ) const
inlineoverridevirtual

Reimplemented from AZ::IO::GenericStream.

◆ IsOpen()

bool AZ::IO::CompressorStream::IsOpen ( ) const
overridevirtual

Implements AZ::IO::GenericStream.

◆ Read()

SizeType AZ::IO::CompressorStream::Read ( SizeType  bytes,
void *  oBuffer 
)
overridevirtual

Implements AZ::IO::GenericStream.

◆ ReadAtOffset()

SizeType AZ::IO::CompressorStream::ReadAtOffset ( SizeType  bytes,
void *  oBuffer,
OffsetType  offset 
)
overridevirtual

Reimplemented from AZ::IO::GenericStream.

◆ ReOpen()

bool AZ::IO::CompressorStream::ReOpen ( )
overridevirtual

Reimplemented from AZ::IO::GenericStream.

◆ Seek()

void AZ::IO::CompressorStream::Seek ( OffsetType  bytes,
SeekMode  mode 
)
overridevirtual

Implements AZ::IO::GenericStream.

◆ Write()

SizeType AZ::IO::CompressorStream::Write ( SizeType  bytes,
const void *  iBuffer 
)
overridevirtual

Implements AZ::IO::GenericStream.

◆ WriteAtOffset()

SizeType AZ::IO::CompressorStream::WriteAtOffset ( SizeType  bytes,
const void *  iBuffer,
OffsetType  offset 
)
overridevirtual

Reimplemented from AZ::IO::GenericStream.


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