1#ifndef RAYLIB_CPP_INCLUDE_FILEDATA_HPP_
2#define RAYLIB_CPP_INCLUDE_FILEDATA_HPP_
8#include "./raylib-cpp-utils.hpp"
15 FileData(
const FileData&) =
delete;
16 FileData(FileData&& other) noexcept : data(other.data), bytesRead(other.bytesRead) {
20 FileData& operator=(
const FileData&) =
delete;
21 FileData& operator=(FileData&& other)
noexcept {
22 std::swap(data, other.data);
23 std::swap(bytesRead, other.bytesRead);
26 ~FileData() { Unload(); }
28 explicit FileData(
const std::string_view fileName) {
32 GETTER(
const unsigned char*, Data, data)
33 GETTER(
int, BytesRead, bytesRead)
35 void Load(
const std::string_view fileName) { Load(fileName.data()); }
36 void Load(
const char* fileName) {
37 data = ::LoadFileData(fileName, &bytesRead);
41 if (data !=
nullptr) {
42 ::UnloadFileData(data);
48 unsigned char* data{
nullptr};
54using RFileData = raylib::FileData;