diff --git a/src/common/utils/compression.cpp b/src/common/utils/compression.cpp index 15cbbc04..17c6da8c 100644 --- a/src/common/utils/compression.cpp +++ b/src/common/utils/compression.cpp @@ -48,7 +48,7 @@ namespace utils::compression }; } - std::vector decompress(const std::vector& data) + std::vector decompress(const std::span data) { std::vector buffer{}; zlib_stream stream_container{}; @@ -80,7 +80,12 @@ namespace utils::compression return buffer; } - std::vector compress(const std::vector& data) + std::vector decompress(const std::span& data) + { + return decompress(std::span(reinterpret_cast(data.data()), data.size())); + } + + std::vector compress(const std::span data) { std::vector result{}; auto length = compressBound(static_cast(data.size())); @@ -95,5 +100,10 @@ namespace utils::compression result.resize(length); return result; } + + std::vector compress(const std::span data) + { + return compress(std::span(reinterpret_cast(data.data()), data.size())); + } } } diff --git a/src/common/utils/compression.hpp b/src/common/utils/compression.hpp index 36a0305c..70ded9f7 100644 --- a/src/common/utils/compression.hpp +++ b/src/common/utils/compression.hpp @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include @@ -9,7 +9,9 @@ namespace utils::compression namespace zlib { constexpr unsigned int ZCHUNK_SIZE = 16384u; - std::vector compress(const std::vector& data); - std::vector decompress(const std::vector& data); + std::vector compress(std::span data); + std::vector compress(std::span data); + std::vector decompress(std::span data); + std::vector decompress(std::span data); } -}; \ No newline at end of file +};