Support std::byte in I/O util

This commit is contained in:
momo5502
2025-03-22 13:08:11 +01:00
parent 8dcfbf0601
commit 04a4da3188
2 changed files with 9 additions and 3 deletions

View File

@@ -21,7 +21,7 @@ namespace utils::io
return std::ifstream(file).good();
}
bool write_file(const std::filesystem::path& file, const std::vector<uint8_t>& data, const bool append)
bool write_file(const std::filesystem::path& file, const std::span<const uint8_t> data, const bool append)
{
if (file.has_parent_path())
{
@@ -41,6 +41,11 @@ namespace utils::io
return false;
}
bool write_file(const std::filesystem::path& file, const std::span<const std::byte> data, const bool append)
{
return write_file(file, std::span(reinterpret_cast<const uint8_t*>(data.data()), data.size()), append);
}
std::vector<uint8_t> read_file(const std::filesystem::path& file)
{
std::vector<uint8_t> data;

View File

@@ -1,6 +1,6 @@
#pragma once
#include <string>
#include <span>
#include <vector>
#include <filesystem>
@@ -9,7 +9,8 @@ namespace utils::io
bool remove_file(const std::filesystem::path& file);
bool move_file(const std::filesystem::path& src, const std::filesystem::path& target);
bool file_exists(const std::filesystem::path& file);
bool write_file(const std::filesystem::path& file, const std::vector<uint8_t>& data, bool append = false);
bool write_file(const std::filesystem::path& file, std::span<const uint8_t> data, bool append = false);
bool write_file(const std::filesystem::path& file, std::span<const std::byte> data, bool append = false);
bool read_file(const std::filesystem::path& file, std::vector<uint8_t>* data);
std::vector<uint8_t> read_file(const std::filesystem::path& file);
size_t file_size(const std::filesystem::path& file);