LLVM 22.0.0git
llvm::sys::fs::mapped_file_region Class Reference

This class represents a memory mapped file. More...

#include "llvm/Support/FileSystem.h"

Public Types

enum  mapmode { readonly , readwrite , priv }

Public Member Functions

 mapped_file_region ()=default
 mapped_file_region (mapped_file_region &&Moved)
mapped_file_regionoperator= (mapped_file_region &&Moved)
 mapped_file_region (const mapped_file_region &)=delete
mapped_file_regionoperator= (const mapped_file_region &)=delete
LLVM_ABI mapped_file_region (sys::fs::file_t fd, mapmode mode, size_t length, uint64_t offset, std::error_code &ec)
 ~mapped_file_region ()
 operator bool () const
 Check if this is a valid mapping.
void unmap ()
 Unmap.
void dontNeed ()
LLVM_ABI size_t size () const
LLVM_ABI chardata () const
LLVM_ABI std::error_code sync () const
 Write changes to disk and synchronize.
LLVM_ABI const charconst_data () const
 Get a const view of the data.

Static Public Member Functions

static LLVM_ABI int alignment ()

Detailed Description

This class represents a memory mapped file.

It is based on boost::iostreams::mapped_file.

Definition at line 1292 of file FileSystem.h.

Member Enumeration Documentation

◆ mapmode

Enumerator
readonly 

May only access map via const_data as read only.

readwrite 

May access map via data and modify it. Written to path.

priv 

May modify via data, but changes are lost on destruction.

Definition at line 1294 of file FileSystem.h.

Constructor & Destructor Documentation

◆ mapped_file_region() [1/4]

llvm::sys::fs::mapped_file_region::mapped_file_region ( )
default

◆ mapped_file_region() [2/4]

llvm::sys::fs::mapped_file_region::mapped_file_region ( mapped_file_region && Moved)
inline

Definition at line 1331 of file FileSystem.h.

References mapped_file_region().

◆ mapped_file_region() [3/4]

llvm::sys::fs::mapped_file_region::mapped_file_region ( const mapped_file_region & )
delete

References mapped_file_region().

◆ mapped_file_region() [4/4]

LLVM_ABI llvm::sys::fs::mapped_file_region::mapped_file_region ( sys::fs::file_t fd,
mapmode mode,
size_t length,
uint64_t offset,
std::error_code & ec )
Parameters
fdAn open file descriptor to map. Does not take ownership of fd.

References LLVM_ABI, and mode.

◆ ~mapped_file_region()

llvm::sys::fs::mapped_file_region::~mapped_file_region ( )
inline

Definition at line 1345 of file FileSystem.h.

Member Function Documentation

◆ alignment()

LLVM_ABI int llvm::sys::fs::mapped_file_region::alignment ( )
static
Returns
The minimum alignment offset must be.

References LLVM_ABI.

◆ const_data()

const char * llvm::sys::fs::mapped_file_region::const_data ( ) const

Get a const view of the data.

Modifying this memory has undefined behavior.

Definition at line 1169 of file Path.cpp.

References assert().

Referenced by areFilesDifferent().

◆ data()

char * llvm::sys::fs::mapped_file_region::data ( ) const

◆ dontNeed()

void llvm::sys::fs::mapped_file_region::dontNeed ( )
inline

Definition at line 1355 of file FileSystem.h.

◆ operator bool()

llvm::sys::fs::mapped_file_region::operator bool ( ) const
inlineexplicit

Check if this is a valid mapping.

Definition at line 1348 of file FileSystem.h.

◆ operator=() [1/2]

mapped_file_region & llvm::sys::fs::mapped_file_region::operator= ( const mapped_file_region & )
delete

References mapped_file_region().

◆ operator=() [2/2]

mapped_file_region & llvm::sys::fs::mapped_file_region::operator= ( mapped_file_region && Moved)
inline

Definition at line 1332 of file FileSystem.h.

References mapped_file_region(), and unmap().

◆ size()

size_t llvm::sys::fs::mapped_file_region::size ( ) const

Definition at line 1159 of file Path.cpp.

References assert().

Referenced by llvm::xray::loadProfile(), llvm::xray::loadTraceFile(), and loadYAML().

◆ sync()

LLVM_ABI std::error_code llvm::sys::fs::mapped_file_region::sync ( ) const

Write changes to disk and synchronize.

Equivalent to POSIX msync. This will wait for flushing memory-mapped region back to disk and can be very slow.

References LLVM_ABI.

◆ unmap()

void llvm::sys::fs::mapped_file_region::unmap ( )
inline

Unmap.

Definition at line 1351 of file FileSystem.h.

References mapped_file_region().

Referenced by operator=().


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