Przeglądaj źródła

zstd_compression: Make use of std::span

Allows for the incoming data stream to be non-allocating.
Lioncash 5 lat temu
rodzic
commit
49bfd0c461
2 zmienionych plików z 4 dodań i 3 usunięć
  1. 1 1
      src/common/zstd_compression.cpp
  2. 3 2
      src/common/zstd_compression.h

+ 1 - 1
src/common/zstd_compression.cpp

@@ -32,7 +32,7 @@ std::vector<u8> CompressDataZSTDDefault(const u8* source, std::size_t source_siz
     return CompressDataZSTD(source, source_size, ZSTD_CLEVEL_DEFAULT);
 }
 
-std::vector<u8> DecompressDataZSTD(const std::vector<u8>& compressed) {
+std::vector<u8> DecompressDataZSTD(std::span<const u8> compressed) {
     const std::size_t decompressed_size =
         ZSTD_getDecompressedSize(compressed.data(), compressed.size());
     std::vector<u8> decompressed(decompressed_size);

+ 3 - 2
src/common/zstd_compression.h

@@ -4,6 +4,7 @@
 
 #pragma once
 
+#include <span>
 #include <vector>
 
 #include "common/common_types.h"
@@ -40,6 +41,6 @@ namespace Common::Compression {
  *
  * @return the decompressed data.
  */
-[[nodiscard]] std::vector<u8> DecompressDataZSTD(const std::vector<u8>& compressed);
+[[nodiscard]] std::vector<u8> DecompressDataZSTD(std::span<const u8> compressed);
 
-} // namespace Common::Compression
+} // namespace Common::Compression