33 void Resize(uint64_t size);
34 void Flush(uint64_t offset = 0, uint64_t size = std::numeric_limits<uint64_t>::max())
const;
35 void Close() noexcept;
37 [[nodiscard]]
bool IsOpen() const noexcept;
43 [[nodiscard]]
const unsigned char*
Data() const noexcept {
return static_cast<const unsigned char*
>(
mState.
data); }
Definition MemoryMapped.hpp:15
bool IsWritable() const noexcept
Definition MemoryMapped.hpp:39
bool IsMapped() const noexcept
Definition MemoryMapped.hpp:38
bool IsOpen() const noexcept
Definition MemoryMapped.cpp:85
unsigned char * MutableData()
Definition MemoryMapped.cpp:90
MemoryMappedFile & operator=(MemoryMappedFile const &)=delete
void Resize(uint64_t size)
Definition MemoryMapped.cpp:70
void Open(StringView path, MemoryMappedAccess access)
Definition MemoryMapped.cpp:55
~MemoryMappedFile()
Definition MemoryMapped.cpp:33
Span< const unsigned char > Bytes() const
Definition MemoryMapped.cpp:96
void OpenOrCreate(StringView path, uint64_t size)
Definition MemoryMapped.cpp:65
bool Empty() const noexcept
Definition MemoryMapped.hpp:40
uint64_t Size() const noexcept
Definition MemoryMapped.hpp:41
void Create(StringView path, uint64_t size)
Definition MemoryMapped.cpp:60
Platform::MmapState mState
Definition MemoryMapped.hpp:16
MemoryMappedFile()=default
Span< unsigned char > MutableBytes()
Definition MemoryMapped.cpp:101
const unsigned char * Data() const noexcept
Definition MemoryMapped.hpp:43
void Flush(uint64_t offset=0, uint64_t size=std::numeric_limits< uint64_t >::max()) const
Definition MemoryMapped.cpp:75
MemoryMappedFile(MemoryMappedFile const &)=delete
void Close() noexcept
Definition MemoryMapped.cpp:80
Lock-free atomic primitives and implementations of data structures.
Definition Allocator.hpp:6
MemoryMappedAccess
Definition MemoryMapped.hpp:9
std::basic_string_view< char > StringView
Alias for std::basic_string_view<char>
Definition Container.hpp:56
std::span< T > Span
Alias for std::span
Definition Container.hpp:62