Open 3D Engine Compression Gem 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.
Compression::DecompressionRegistrarImpl Class Referencefinal

Inherits Compression::DecompressionRegistrarInterface.

Classes

struct  DecompressionInterfaceDeleter
 

Public Member Functions

 AZ_TYPE_INFO_WITH_NAME_DECL (DecompressionRegistrarImpl)
 
 AZ_RTTI_NO_TYPE_INFO_DECL ()
 
void VisitDecompressionInterfaces (const VisitDecompressionInterfaceCallback &) const override
 Invokes the supplied visitor for each register decompression interface that is non-nullptr.
 
AZ::Outcome< void, AZStd::unique_ptr< IDecompressionInterface > > RegisterDecompressionInterface (CompressionAlgorithmId algorithmId, AZStd::unique_ptr< IDecompressionInterface > decompressionInterface) override
 Registers a decompression interface with a standard deleter.
 
bool RegisterDecompressionInterface (CompressionAlgorithmId algorithmId, IDecompressionInterface &decompressionInterface) override
 Registers a decompression interface with a null deleter.
 
bool UnregisterDecompressionInterface (CompressionAlgorithmId algorithmId) override
 
IDecompressionInterfaceFindDecompressionInterface (CompressionAlgorithmId algorithmId) const override
 
IDecompressionInterfaceFindDecompressionInterface (AZStd::string_view algorithmName) const override
 
bool IsRegistered (CompressionAlgorithmId algorithmId) const override
 
- Public Member Functions inherited from Compression::DecompressionRegistrarInterface
 AZ_TYPE_INFO_WITH_NAME_DECL (DecompressionRegistrarInterface)
 
 AZ_RTTI_NO_TYPE_INFO_DECL ()
 
virtual void VisitDecompressionInterfaces (const VisitDecompressionInterfaceCallback &) const =0
 Invokes the supplied visitor for each register decompression interface that is non-nullptr.
 
virtual AZ::Outcome< void, AZStd::unique_ptr< IDecompressionInterface > > RegisterDecompressionInterface (CompressionAlgorithmId compressionAlgorithmId, AZStd::unique_ptr< IDecompressionInterface > decompressionInterface)=0
 
virtual bool RegisterDecompressionInterface (CompressionAlgorithmId compressionAlgorithmId, IDecompressionInterface &decompressionInterface)=0
 
virtual bool UnregisterDecompressionInterface (CompressionAlgorithmId compressionAlgorithmId)=0
 
virtual IDecompressionInterfaceFindDecompressionInterface (CompressionAlgorithmId compressionAlgorithmId) const =0
 
virtual IDecompressionInterfaceFindDecompressionInterface (AZStd::string_view algorithmName) const =0
 
virtual bool IsRegistered (CompressionAlgorithmId compressionAlgorithmId) const =0
 

Public Attributes

 AZ_CLASS_ALLOCATOR_DECL
 

Additional Inherited Members

- Public Types inherited from Compression::DecompressionRegistrarInterface
using VisitDecompressionInterfaceCallback = AZStd::function< bool(IDecompressionInterface &)>
 

Member Function Documentation

◆ FindDecompressionInterface() [1/2]

IDecompressionInterface * Compression::DecompressionRegistrarImpl::FindDecompressionInterface ( AZStd::string_view  algorithmName) const
overridevirtual

Queries the decompression interface using the name of the compression algorithm This is slower than the using the compression algorithm ID. Furthermore the algorithm name doesn't have to be unique, so this will return the first compression interface associated with the algorithm name

Parameters
algorithmNameName of the compression algorithm. NOTE: The compression algorithm name is not checked for uniqueness, unlike the algorithm id
Returns
pointer to the decompression interface or nullptr if not found

Implements Compression::DecompressionRegistrarInterface.

◆ FindDecompressionInterface() [2/2]

IDecompressionInterface * Compression::DecompressionRegistrarImpl::FindDecompressionInterface ( CompressionAlgorithmId  compressionAlgorithmId) const
overridevirtual

Queries the decompression interface with the decompression algorithm Id

Parameters
compressionAlgorithmIdunique Id of decompression interface to query
Returns
pointer to the decompression interface or nullptr if not found

Implements Compression::DecompressionRegistrarInterface.

◆ IsRegistered()

bool Compression::DecompressionRegistrarImpl::IsRegistered ( CompressionAlgorithmId  compressionAlgorithmId) const
overridevirtual

Return true if there is an decompression interface registered with the specified id

Parameters
compressionAlgorithmIdCompressionAlgorithmId to determine if an decompression interface is registered
Returns
bool indicating if there is an decompression interface with the id registered

Implements Compression::DecompressionRegistrarInterface.

◆ RegisterDecompressionInterface() [1/2]

AZ::Outcome< void, AZStd::unique_ptr< IDecompressionInterface > > Compression::DecompressionRegistrarImpl::RegisterDecompressionInterface ( CompressionAlgorithmId  algorithmId,
AZStd::unique_ptr< IDecompressionInterface decompressionInterface 
)
overridevirtual

Registers a decompression interface with a standard deleter.

Implements Compression::DecompressionRegistrarInterface.

◆ RegisterDecompressionInterface() [2/2]

bool Compression::DecompressionRegistrarImpl::RegisterDecompressionInterface ( CompressionAlgorithmId  algorithmId,
IDecompressionInterface decompressionInterface 
)
overridevirtual

Registers a decompression interface with a null deleter.

Implements Compression::DecompressionRegistrarInterface.

◆ UnregisterDecompressionInterface()

bool Compression::DecompressionRegistrarImpl::UnregisterDecompressionInterface ( CompressionAlgorithmId  compressionAlgorithmId)
overridevirtual

Unregisters the decompression interface with the specified id

Parameters
decompressionAlgorithmIdunique Id that identifies the decompression interface
Returns
true if the unregistration is successful

Implements Compression::DecompressionRegistrarInterface.

◆ VisitDecompressionInterfaces()

void Compression::DecompressionRegistrarImpl::VisitDecompressionInterfaces ( const VisitDecompressionInterfaceCallback ) const
overridevirtual

Invokes the supplied visitor for each register decompression interface that is non-nullptr.

Implements Compression::DecompressionRegistrarInterface.


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