mirror of
https://github.com/momo5502/emulator.git
synced 2026-01-19 19:53:56 +00:00
Support std::byte in zlib
This commit is contained in:
@@ -48,7 +48,7 @@ namespace utils::compression
|
||||
};
|
||||
}
|
||||
|
||||
std::vector<std::uint8_t> decompress(const std::vector<std::uint8_t>& data)
|
||||
std::vector<std::uint8_t> decompress(const std::span<const std::uint8_t> data)
|
||||
{
|
||||
std::vector<std::uint8_t> buffer{};
|
||||
zlib_stream stream_container{};
|
||||
@@ -80,7 +80,12 @@ namespace utils::compression
|
||||
return buffer;
|
||||
}
|
||||
|
||||
std::vector<std::uint8_t> compress(const std::vector<std::uint8_t>& data)
|
||||
std::vector<std::uint8_t> decompress(const std::span<const std::byte>& data)
|
||||
{
|
||||
return decompress(std::span(reinterpret_cast<const uint8_t*>(data.data()), data.size()));
|
||||
}
|
||||
|
||||
std::vector<std::uint8_t> compress(const std::span<const std::uint8_t> data)
|
||||
{
|
||||
std::vector<std::uint8_t> result{};
|
||||
auto length = compressBound(static_cast<uLong>(data.size()));
|
||||
@@ -95,5 +100,10 @@ namespace utils::compression
|
||||
result.resize(length);
|
||||
return result;
|
||||
}
|
||||
|
||||
std::vector<std::uint8_t> compress(const std::span<const std::byte> data)
|
||||
{
|
||||
return compress(std::span(reinterpret_cast<const uint8_t*>(data.data()), data.size()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <span>
|
||||
#include <vector>
|
||||
#include <cstdint>
|
||||
|
||||
@@ -9,7 +9,9 @@ namespace utils::compression
|
||||
namespace zlib
|
||||
{
|
||||
constexpr unsigned int ZCHUNK_SIZE = 16384u;
|
||||
std::vector<std::uint8_t> compress(const std::vector<std::uint8_t>& data);
|
||||
std::vector<std::uint8_t> decompress(const std::vector<std::uint8_t>& data);
|
||||
std::vector<std::uint8_t> compress(std::span<const std::uint8_t> data);
|
||||
std::vector<std::uint8_t> compress(std::span<const std::byte> data);
|
||||
std::vector<std::uint8_t> decompress(std::span<const std::uint8_t> data);
|
||||
std::vector<std::uint8_t> decompress(std::span<const std::byte> data);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user