...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::interprocess::file_mapping
// In header: <boost/interprocess/file_mapping.hpp> class file_mapping { public: // construct/copy/destruct file_mapping(); file_mapping(const char *, mode_t); file_mapping(file_mapping &&); file_mapping& operator=(file_mapping &&); ~file_mapping(); // public member functions void swap(file_mapping &); mode_t get_mode() const; mapping_handle_t get_mapping_handle() const; const char * get_name() const; // public static functions static bool remove(const char *); };
A class that wraps a file-mapping that can be used to create mapped regions from the mapped files
file_mapping
public
construct/copy/destructfile_mapping();
Constructs an empty file mapping. Does not throw
file_mapping(const char * filename, mode_t mode);
Opens a file mapping of file "filename", starting in offset "file_offset", and the mapping's size will be "size". The mapping can be opened for read-only "read_only" or read-write "read_write" modes. Throws interprocess_exception
on error.
file_mapping(file_mapping && moved);
Moves the ownership of "moved"'s file mapping object to *this. After the call, "moved" does not represent any file mapping object. Does not throw
file_mapping& operator=(file_mapping && moved);
Moves the ownership of "moved"'s file mapping to *this. After the call, "moved" does not represent any file mapping. Does not throw
~file_mapping();
Destroys the file mapping. All mapped regions created from this are still valid. Does not throw
file_mapping
public member functionsvoid swap(file_mapping & other);
Swaps to file_mappings. Does not throw.
mode_t get_mode() const;
Returns access mode used in the constructor
mapping_handle_t get_mapping_handle() const;
Obtains the mapping handle to be used with mapped_region
const char * get_name() const;
Returns the name of the file used in the constructor.