Tkrzw
Public Member Functions | List of all members
tkrzw::ZStdCompressor Class Referencefinal

Compressor implemeted with ZStd. More...

#include <tkrzw_compress.h>

Public Member Functions

 ZStdCompressor (int32_t level=3)
 Constructor. More...
 
virtual ~ZStdCompressor ()
 Destructor. More...
 
bool IsSupported () const override
 Checks whether the implementation is actually supported. More...
 
char * Compress (const void *buf, size_t size, size_t *sp) const override
 Compresses a serial data. More...
 
char * Decompress (const void *buf, size_t size, size_t *sp) const override
 Decompresses a serial data. More...
 
std::unique_ptr< CompressorMakeCompressor () const override
 Makes a new Compressor object of the same concrete class. More...
 
- Public Member Functions inherited from tkrzw::Compressor
virtual ~Compressor ()=default
 Destructor. More...
 
const std::type_info & GetType () const
 Gets the type information of the actual class. More...
 

Detailed Description

Compressor implemeted with ZStd.

Constructor & Destructor Documentation

◆ ZStdCompressor()

tkrzw::ZStdCompressor::ZStdCompressor ( int32_t  level = 3)
explicit

Constructor.

Parameters
levelThe compression level between -1 and 19. Higher means slower but better compression. 0 is a special value for adaptive settings. -1 is a special value for ultra fast settings.

◆ ~ZStdCompressor()

virtual tkrzw::ZStdCompressor::~ZStdCompressor ( )
virtual

Destructor.

Member Function Documentation

◆ IsSupported()

bool tkrzw::ZStdCompressor::IsSupported ( ) const
overridevirtual

Checks whether the implementation is actually supported.

Returns
True if the implementation is actually supported.

Implements tkrzw::Compressor.

◆ Compress()

char* tkrzw::ZStdCompressor::Compress ( const void *  buf,
size_t  size,
size_t *  sp 
) const
overridevirtual

Compresses a serial data.

Parameters
bufthe input buffer.
sizethe size of the input buffer.
spthe pointer to the variable into which the size of the region of the return value is assigned.
Returns
The pointer to the result data, or nullptr on failure.

Because the region of the return value is allocated with the xmalloc function, it should be released with the xfree function.

Implements tkrzw::Compressor.

◆ Decompress()

char* tkrzw::ZStdCompressor::Decompress ( const void *  buf,
size_t  size,
size_t *  sp 
) const
overridevirtual

Decompresses a serial data.

Parameters
bufthe input buffer.
sizethe size of the input buffer.
spthe pointer to the variable into which the size of the region of the return value is assigned.
Returns
The pointer to the result data, or nullptr on failure.

Because the region of the return value is allocated with the xmalloc function, it should be released with the xfree function.

Implements tkrzw::Compressor.

◆ MakeCompressor()

std::unique_ptr<Compressor> tkrzw::ZStdCompressor::MakeCompressor ( ) const
overridevirtual

Makes a new Compressor object of the same concrete class.

Returns
The new Compressor object.

Implements tkrzw::Compressor.