First
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
#pragma once
|
||||
|
||||
#include "fs/IStreamSource.h"
|
||||
#include "fs/zip/ZipWriter.h"
|
||||
|
||||
namespace fs
|
||||
{
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class ISource;
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class FS_API DeflateSinkWriter
|
||||
{
|
||||
public:
|
||||
//compression level: 0 to 9
|
||||
DeflateSinkWriter(IStreamSource& source, uint8_t compressionLevel);
|
||||
DeflateSinkWriter(tl::span<const uint8_t> data, uint8_t compressionLevel);
|
||||
|
||||
DeflateSinkWriter(const DeflateSinkWriter&) = delete;
|
||||
DeflateSinkWriter& operator=(const DeflateSinkWriter&) = delete;
|
||||
|
||||
DeflateSinkWriter(DeflateSinkWriter&&) = default;
|
||||
DeflateSinkWriter& operator=(DeflateSinkWriter&&) = default;
|
||||
|
||||
ZipWriter::DataWriterResult operator()(IStreamSink& sink);
|
||||
|
||||
private:
|
||||
IStreamSource* m_source = nullptr;
|
||||
tl::span<const uint8_t> m_data;
|
||||
uint8_t m_compressionLevel = 9;
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user