25 std::ifstream file(
filename, std::ios::ate | std::ios::binary);
27 if (!file.is_open()) {
56 log::engine::critical(
"Error while reading binary, category: {}",
ec.category().name());
59 if (
file_size == std::numeric_limits<std::uintmax_t>::max()) {
64 if (
file_size > std::numeric_limits<std::size_t>::max()) {
71 std::ifstream file(
path, std::ios::binary);
75 file.read(
reinterpret_cast<char*
>(
buffer.data()),
static_cast<std::streamsize
>(
file_size));
76 if (!file || file.gcount() !=
static_cast<std::streamsize
>(
file_size)) {
82 const std::vector<std::byte>& data,
84 if (std::filesystem::exists(
path)) {
89 std::ofstream file(
path, std::ios::out | std::ios::binary);
90 file.write(
reinterpret_cast<const char*
>(data.data()),
static_cast<std::streamsize
>(data.size()));
FileError write_binary(const std::filesystem::path &path, const std::vector< std::byte > &data, bool overwrite_existing=false)
Definition file_utils.hpp:81
FileError read_binary(const std::filesystem::path &path, std::vector< std::byte > &buffer)
Definition file_utils.hpp:51
Definition Application.hpp:22
FileError
Definition file_utils.hpp:12
std::expected< std::vector< char >, FileError > read_file(const std::string &filename)
Definition file_utils.hpp:24
consteval U64 type_id_of()
Definition type_id.hpp:6
std::size_t USize
Definition types.hpp:18