Foundation
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Foundation::Core::MemoryMappedFile Class Reference

#include <MemoryMapped.hpp>

Public Member Functions

 MemoryMappedFile ()=default
 
 MemoryMappedFile (StringView path, MemoryMappedAccess access)
 
 MemoryMappedFile (StringView path, uint64_t size)
 
 ~MemoryMappedFile ()
 
 MemoryMappedFile (MemoryMappedFile const &)=delete
 
MemoryMappedFileoperator= (MemoryMappedFile const &)=delete
 
 MemoryMappedFile (MemoryMappedFile &&other) noexcept
 
MemoryMappedFileoperator= (MemoryMappedFile &&other) noexcept
 
void Open (StringView path, MemoryMappedAccess access)
 
void Create (StringView path, uint64_t size)
 
void OpenOrCreate (StringView path, uint64_t size)
 
void Resize (uint64_t size)
 
void Flush (uint64_t offset=0, uint64_t size=std::numeric_limits< uint64_t >::max()) const
 
void Close () noexcept
 
bool IsOpen () const noexcept
 
bool IsMapped () const noexcept
 
bool IsWritable () const noexcept
 
bool Empty () const noexcept
 
uint64_t Size () const noexcept
 
const unsigned char * Data () const noexcept
 
unsigned char * MutableData ()
 
Span< const unsigned char > Bytes () const
 
Span< unsigned char > MutableBytes ()
 

Private Member Functions

void MapView ()
 
void UnmapView () noexcept
 
void MoveFrom (MemoryMappedFile &other) noexcept
 

Private Attributes

void * mData {}
 
uint64_t mSize {}
 
bool mWritable {}
 
int mFd {-1}
 

Constructor & Destructor Documentation

◆ MemoryMappedFile() [1/5]

Foundation::Core::MemoryMappedFile::MemoryMappedFile ( )
default

◆ MemoryMappedFile() [2/5]

Foundation::Core::MemoryMappedFile::MemoryMappedFile ( StringView  path,
MemoryMappedAccess  access 
)

◆ MemoryMappedFile() [3/5]

Foundation::Core::MemoryMappedFile::MemoryMappedFile ( StringView  path,
uint64_t  size 
)

◆ ~MemoryMappedFile()

Foundation::Core::MemoryMappedFile::~MemoryMappedFile ( )

◆ MemoryMappedFile() [4/5]

Foundation::Core::MemoryMappedFile::MemoryMappedFile ( MemoryMappedFile const &  )
delete

◆ MemoryMappedFile() [5/5]

Foundation::Core::MemoryMappedFile::MemoryMappedFile ( MemoryMappedFile &&  other)
noexcept

Member Function Documentation

◆ Bytes()

Span< const unsigned char > Foundation::Core::MemoryMappedFile::Bytes ( ) const

◆ Close()

void Foundation::Core::MemoryMappedFile::Close ( )
noexcept

◆ Create()

void Foundation::Core::MemoryMappedFile::Create ( StringView  path,
uint64_t  size 
)

◆ Data()

const unsigned char * Foundation::Core::MemoryMappedFile::Data ( ) const
inlinenoexcept

◆ Empty()

bool Foundation::Core::MemoryMappedFile::Empty ( ) const
inlinenoexcept

◆ Flush()

void Foundation::Core::MemoryMappedFile::Flush ( uint64_t  offset = 0,
uint64_t  size = std::numeric_limits<uint64_t>::max() 
) const

◆ IsMapped()

bool Foundation::Core::MemoryMappedFile::IsMapped ( ) const
inlinenoexcept

◆ IsOpen()

bool Foundation::Core::MemoryMappedFile::IsOpen ( ) const
noexcept

◆ IsWritable()

bool Foundation::Core::MemoryMappedFile::IsWritable ( ) const
inlinenoexcept

◆ MapView()

void Foundation::Core::MemoryMappedFile::MapView ( )
private

◆ MoveFrom()

void Foundation::Core::MemoryMappedFile::MoveFrom ( MemoryMappedFile other)
privatenoexcept

◆ MutableBytes()

Span< unsigned char > Foundation::Core::MemoryMappedFile::MutableBytes ( )

◆ MutableData()

unsigned char * Foundation::Core::MemoryMappedFile::MutableData ( )

◆ Open()

void Foundation::Core::MemoryMappedFile::Open ( StringView  path,
MemoryMappedAccess  access 
)

◆ OpenOrCreate()

void Foundation::Core::MemoryMappedFile::OpenOrCreate ( StringView  path,
uint64_t  size 
)

◆ operator=() [1/2]

MemoryMappedFile & Foundation::Core::MemoryMappedFile::operator= ( MemoryMappedFile &&  other)
noexcept

◆ operator=() [2/2]

MemoryMappedFile & Foundation::Core::MemoryMappedFile::operator= ( MemoryMappedFile const &  )
delete

◆ Resize()

void Foundation::Core::MemoryMappedFile::Resize ( uint64_t  size)

◆ Size()

uint64_t Foundation::Core::MemoryMappedFile::Size ( ) const
inlinenoexcept

◆ UnmapView()

void Foundation::Core::MemoryMappedFile::UnmapView ( )
privatenoexcept

Member Data Documentation

◆ mData

void* Foundation::Core::MemoryMappedFile::mData {}
private

◆ mFd

int Foundation::Core::MemoryMappedFile::mFd {-1}
private

◆ mSize

uint64_t Foundation::Core::MemoryMappedFile::mSize {}
private

◆ mWritable

bool Foundation::Core::MemoryMappedFile::mWritable {}
private

The documentation for this class was generated from the following files: