| Home | Libraries | People | FAQ | More

## Class file_mapping

boost::interprocess::file_mapping

## Synopsis

    // 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 *);
    };

## Description

A class that wraps a file-mapping that can be used to create mapped regions from the mapped files

### `file_mapping` public construct/copy/destruct

1.     file_mapping();

   Constructs an empty file mapping. Does not throw

2.     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.

3.     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

4.     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

5.     ~file_mapping();

   Destroys the file mapping. All mapped regions created from this are still valid. Does not throw

### `file_mapping` public member functions

1.     void swap(file_mapping & other);

   Swaps to file_mappings. Does not throw.

2.     mode_t get_mode() const;

   Returns access mode used in the constructor

3.     mapping_handle_t get_mapping_handle() const;

   Obtains the mapping handle to be used with `mapped_region`

4.     const char * get_name() const;

   Returns the name of the file used in the constructor.

### `file_mapping` public static functions

1.     static bool remove(const char * filename);

   Removes the file named "filename" even if it's been memory mapped. Returns true on success. The function might fail in some operating systems if the file is being used other processes and no deletion permission was shared.