7#include "file_mapping.hpp"
8#include "resource_view.hpp"
11namespace hi::inline v1 {
31 return _file_mapping_object->accessMode();
38 return _file_mapping_object->location();
52 return _bytes->size();
57 [[nodiscard]] std::byte *
data() noexcept
59 return _bytes->data();
64 [[nodiscard]] std::byte
const *
data() const noexcept
override
66 return _bytes->data();
71 [[nodiscard]] std::span<std::byte>
bytes() noexcept
78 [[nodiscard]] std::span<std::byte const>
bytes() const noexcept
override
87 return std::string_view{
reinterpret_cast<char *
>(data()), size()};
92 [[nodiscard]] std::string_view
string_view() const noexcept
override
94 return std::string_view{
reinterpret_cast<char const *
>(data()), size()};
108 return std::make_unique<file_view>(location);
118 static void unmap(std::span<std::byte> *bytes)
noexcept;
130 findOrCreateFileMappingObject(
URL const &path, access_mode accessMode,
std::size_t size);
Definition file_view.hpp:15
static std::unique_ptr< resource_view > loadView(URL const &location)
Definition file_view.hpp:106
std::size_t size() const noexcept override
Definition file_view.hpp:50
std::string_view string_view() noexcept
Definition file_view.hpp:85
access_mode accessMode() const noexcept
Definition file_view.hpp:29
std::byte * data() noexcept
Definition file_view.hpp:57
std::string_view string_view() const noexcept override
Definition file_view.hpp:92
void flush(void *base, std::size_t size)
Flush changes in memory to the open file.
std::byte const * data() const noexcept override
Definition file_view.hpp:64
std::span< std::byte > bytes() noexcept
Definition file_view.hpp:71
std::size_t offset() const noexcept override
Definition file_view.hpp:43
URL const & location() const noexcept
Definition file_view.hpp:36
std::span< std::byte const > bytes() const noexcept override
Definition file_view.hpp:78
A read-only memory mapping of a resource.
Definition resource_view.hpp:18