| 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;
      void priv_close();

      // public static functions
      static bool remove(const char *);
      file_handle_t m_handle;
      mode_t m_mode;
      std::string m_filename;
    };

## 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();

   @ BOOST_INTERPROCESS_MOVABLE_BUT_NOT_COPYABLE(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.

5.     void priv_close();

   @

   @ private: Closes a previously opened file mapping. Never throws.

### `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.