11#ifndef __BE_IO_COMPRESSOR__
12#define __BE_IO_COMPRESSOR__
65 const uint8_t *
const uncompressedData,
66 uint64_t uncompressedDataSize)
105 const uint8_t *
const uncompressedData,
106 uint64_t uncompressedDataSize,
107 const std::string &outputFile)
const = 0;
126 const std::string &outputFile)
const = 0;
145 const std::string &inputFile)
167 const std::string &inputFile,
168 const std::string &outputFile)
const = 0;
187 const uint8_t *
const compressedData,
188 uint64_t compressedDataSize)
226 const std::string &inputFile)
247 const std::string &outputFile)
const = 0;
268 const uint8_t *
const compressedData,
269 const uint64_t compressedDataSize,
270 const std::string &outputFile)
const = 0;
291 const std::string &inputFile,
292 const std::string &outputFile)
const = 0;
310 const std::string &optionName,
311 const std::string &optionValue);
329 const std::string &optionName,
330 int64_t optionValue);
344 const std::string &optionName)
const;
361 const std::string &optionName)
const;
372 const std::string &optionName);
389 static std::shared_ptr<Compressor>
431 BE_IO_Compressor_Kind_EnumToStringMap);
BE_FRAMEWORK_ENUMERATION_DECLARATIONS(BiometricEvaluation::IO::Compressor::Kind, BE_IO_Compressor_Kind_EnumToStringMap)
Common interface for classes providing compressing and decompressing functionality.
Compressor & operator=(const Compressor &other)=delete
Assignment overload (disabled).
virtual Memory::uint8Array decompress(const std::string &inputFile) const =0
Decompress a compressed buffer into a file.
std::string getOption(const std::string &optionName) const
Obtain a compressor option as an integer.
virtual void compress(const uint8_t *const uncompressedData, uint64_t uncompressedDataSize, const std::string &outputFile) const =0
Compress a buffer.
virtual void decompress(const std::string &inputFile, const std::string &outputFile) const =0
Decompress a file.
virtual Memory::uint8Array compress(const Memory::uint8Array &uncompressedData) const =0
Compress a buffer.
void setOption(const std::string &optionName, const std::string &optionValue)
Assign a compressor option.
Compressor(const Compressor &other)=delete
Copy constructor (disabled).
virtual Memory::uint8Array compress(const std::string &inputFile) const =0
Compress a file.
static std::shared_ptr< Compressor > createCompressor(Compressor::Kind compressorKind=Kind::GZIP)
Compressor factory.
virtual void decompress(const uint8_t *const compressedData, const uint64_t compressedDataSize, const std::string &outputFile) const =0
Decompress a file.
virtual Memory::uint8Array decompress(const uint8_t *const compressedData, uint64_t compressedDataSize) const =0
Decompress a compressed buffer.
virtual void compress(const std::string &inputFile, const std::string &outputFile) const =0
Compress a file.
void setOption(const std::string &optionName, int64_t optionValue)
Assign a compressor option.
void removeOption(const std::string &optionName)
Remove a compressor option.
int64_t getOptionAsInteger(const std::string &optionName) const
Obtain a compressor option as an integer.
virtual void compress(const Memory::uint8Array &uncompressedData, const std::string &outputFile) const =0
Compress a buffer.
virtual void decompress(const Memory::uint8Array &compressedData, const std::string &outputFile) const =0
Decompress a file.
virtual Memory::uint8Array decompress(const Memory::uint8Array &compressedData) const =0
Decompress a compressed buffer.
Compressor()
Create a new Compressor object.
virtual ~Compressor()
Destructor.
Kind
Kinds of Compressors (for factory)
virtual Memory::uint8Array compress(const uint8_t *const uncompressedData, uint64_t uncompressedDataSize) const =0
Compress a buffer.
Maintain key/value pairs of strings, with each property matched to one value.
This software was developed at the National Institute of Standards and Technology (NIST) by employees...