LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::sys::fs::mapped_file_region Class Reference

#include <FileSystem.h>

Public Types

enum  mapmode { readonly, readwrite, priv }
 
typedef char char_type
 

Public Member Functions

 mapped_file_region (const Twine &path, mapmode mode, uint64_t length, uint64_t offset, error_code &ec)
 
 mapped_file_region (int fd, bool closefd, mapmode mode, uint64_t length, uint64_t offset, error_code &ec)
 
 ~mapped_file_region ()
 
mapmode flags () const
 
uint64_t size () const
 
char * data () const
 
const char * const_data () const
 

Static Public Member Functions

static int alignment ()
 

Detailed Description

This class represents a memory mapped file. It is based on boost::iostreams::mapped_file.

Definition at line 679 of file FileSystem.h.

Member Typedef Documentation

Definition at line 705 of file FileSystem.h.

Member Enumeration Documentation

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 685 of file FileSystem.h.

Constructor & Destructor Documentation

llvm::sys::fs::mapped_file_region::mapped_file_region ( const Twine path,
mapmode  mode,
uint64_t  length,
uint64_t  offset,
error_code ec 
)

Construct a mapped_file_region at path starting at offset of length length and with access mode.

Parameters
pathPath to the file to map. If it does not exist it will be created.
modeHow to map the memory.
lengthNumber of bytes to map in starting at offset. If the file is shorter than this, it will be extended. If length is 0, the entire file will be mapped.
offsetByte offset from the beginning of the file where the map should begin. Must be a multiple of mapped_file_region::alignment().
ecThis is set to errc::success if the map was constructed successfully. Otherwise it is set to a platform dependent error.
llvm::sys::fs::mapped_file_region::mapped_file_region ( int  fd,
bool  closefd,
mapmode  mode,
uint64_t  length,
uint64_t  offset,
error_code ec 
)
Parameters
fdAn open file descriptor to map. mapped_file_region takes ownership if closefd is true. It must have been opended in the correct mode.
llvm::sys::fs::mapped_file_region::~mapped_file_region ( )

Member Function Documentation

static int llvm::sys::fs::mapped_file_region::alignment ( )
static
Returns
The minimum alignment offset must be.
const char* llvm::sys::fs::mapped_file_region::const_data ( ) const

Get a const view of the data. Modifying this memory has undefined behavior.

char* llvm::sys::fs::mapped_file_region::data ( ) const
mapmode llvm::sys::fs::mapped_file_region::flags ( ) const
uint64_t llvm::sys::fs::mapped_file_region::size ( ) const

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