Allow switch vector to span

This commit is contained in:
Georg Hagen
2025-05-19 23:14:32 +02:00
parent 31deaeec14
commit 410d2514d5
6 changed files with 10 additions and 9 deletions

View File

@@ -18,6 +18,7 @@
#include "Image/ExifBuilder.hpp"
#include "Image/XmpBuilder.hpp"
#include "Image/JpegWithTagsWriter.hpp"
#include <array>
#include <fstream>
#include <iostream>
#if __has_include("turbojpeg.h")
@@ -137,7 +138,7 @@ namespace OpenVulkano::AR
colorWriter->AddFile(fileName.c_str(), outBuffer, size);
if (jpgWriter) [[unlikely]]
{
jpgWriter->WriteImageData({ outBuffer, size }, false); // Keep open, livetime is managed outside
jpgWriter->WriteImageData({ outBuffer, size }, false); // Keep open, lifetime is managed outside
}
}
tjFree(outBuffer);
@@ -150,7 +151,7 @@ namespace OpenVulkano::AR
//BlockProfiler profile("Save AR Frame - Depth");
if (!depthWriter || !confWriter) return;
auto depthImg = arFrame->GetDepthImage();
std::vector<std::pair<const void*, size_t>> buffers(2);
std::array<std::pair<const void*, size_t>, 2> buffers;
{ // TODO handle alternative depth formats!!!!
//BlockProfiler profile("Save AR Frame - Depth");
PfmHeader depthHeader(static_cast<uint32_t>(depthImg.depth.resolution.x), static_cast<uint32_t>(depthImg.depth.resolution.y), 5.0f, false);

View File

@@ -118,7 +118,7 @@ namespace OpenVulkano
return ok;
}
bool ArchiveWriter::AddFile(const FileDescription& description, const std::vector<std::pair<const void*, size_t>>& buffers)
bool ArchiveWriter::AddFile(const FileDescription& description, const std::span<std::pair<const void*, size_t>>& buffers)
{
WriteHeader(description);
for(const auto& buffer : buffers)

View File

@@ -48,7 +48,7 @@ namespace OpenVulkano
[[nodiscard]] size_t GetTotalWrittenBytes() const { return m_bytesWritten; }
bool AddFile(const FileDescription& description, const void* buffer) override;
bool AddFile(const FileDescription& description, const std::vector<std::pair<const void*, size_t>>& buffers) override;
bool AddFile(const FileDescription& description, const std::span<std::pair<const void*, size_t>>& buffers) override;
bool AddFile(const char* fileName, const char* inArchiveName) override;
[[nodiscard]] ArchiveOStream AddFileStream(const FileDescription& description) override;

View File

@@ -9,7 +9,7 @@
#include "ArchiveOStream.hpp"
#include "IO/FileDescription.hpp"
#include <functional>
#include <vector>
#include <span>
namespace OpenVulkano
{
@@ -24,7 +24,7 @@ namespace OpenVulkano
virtual void SetShouldCompressFunction(const std::function<bool(const FileDescription&)>& shouldComp) = 0;
virtual bool AddFile(const FileDescription& description, const void* buffer) = 0;
virtual bool AddFile(const FileDescription& description, const std::vector<std::pair<const void*, size_t>>& buffers) = 0;
virtual bool AddFile(const FileDescription& description, const std::span<std::pair<const void*, size_t>>& buffers) = 0;
virtual bool AddFile(const char* fileName, const char* inArchiveName) = 0;
/**
@@ -56,7 +56,7 @@ namespace OpenVulkano
return AddFile(description, buffer);
}
bool AddFile(const char* fileName, const std::vector<std::pair<const void*, size_t>>& buffers)
bool AddFile(const char* fileName, const std::span<std::pair<const void*, size_t>>& buffers)
{
size_t size = 0;
for(const auto& buffer : buffers)

View File

@@ -58,7 +58,7 @@ namespace OpenVulkano
return m_writer->AddFile(description, buffer);
}
bool MultiPartArchiveWriter::AddFile(const FileDescription& description, const std::vector<std::pair<const void*, size_t>>& buffers)
bool MultiPartArchiveWriter::AddFile(const FileDescription& description, const std::span<std::pair<const void*, size_t>>& buffers)
{
CheckSize(description.size);
return m_writer->AddFile(description, buffers);

View File

@@ -35,7 +35,7 @@ namespace OpenVulkano
~MultiPartArchiveWriter() override;
bool AddFile(const FileDescription& description, const void* buffer) override;
bool AddFile(const FileDescription& description, const std::vector<std::pair<const void*, size_t>>& buffers) override;
bool AddFile(const FileDescription& description, const std::span<std::pair<const void*, size_t>>& buffers) override;
[[deprecated]] bool AddFile(const char* fileName, const char* inArchiveName) override;
using IArchiveWriter::AddFile;
[[nodiscard]] virtual ArchiveOStream AddFileStream(const FileDescription& description) override;