2020-07-28 00:53:29 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <string_view>
|
|
|
|
#include <optional>
|
|
|
|
#include <filesystem>
|
|
|
|
|
|
|
|
class RcResource
|
|
|
|
{
|
|
|
|
public:
|
2020-07-28 19:26:30 +08:00
|
|
|
const std::byte* _memory = nullptr;
|
|
|
|
size_t _size = 0;
|
2020-07-28 00:53:29 +08:00
|
|
|
|
|
|
|
static std::optional<RcResource> create(int resource_id, const std::wstring_view resource_class);
|
|
|
|
bool saveAsFile(const std::filesystem::path destination);
|
|
|
|
|
|
|
|
private:
|
|
|
|
RcResource() = delete;
|
2020-07-28 19:26:30 +08:00
|
|
|
RcResource(const std::byte* memory, size_t size) :
|
|
|
|
_memory{ memory }, _size{ size }
|
2020-07-28 00:53:29 +08:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|