Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Forums
  - IRC
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

# std.mmfile

Read and write memory mapped files.
License:
Boost License 1.0.
Authors:
Walter Bright, Matthew Wilson

Source std/mmfile.d

class `MmFile`;
  `MmFile` objects control the memory mapped file resource.
  enum `Mode`: int;
    The mode the memory mapped file is opened with.
    `read`
      Read existing file
    `readWriteNew`
      Delete existing file, write new file
    `readWrite`
      Read/Write existing file, create if not existing
    `readCopyOnWrite`
      Read/Write existing file, copy on write
  this(string `filename`);
    Open memory mapped file `filename` for reading. File is closed when the object instance is deleted.
    Throws:
    std.file.FileException
  this(string `filename`, Mode `mode`, ulong `size`, void* `address`, size_t `window` = 0);
    Open memory mapped file `filename` in `mode`. File is closed when the object instance is deleted.
    Parameters:

    string `filename` | name of the file. If `null`, an anonymous file mapping is created.
    Mode `mode` | access `mode` defined above.
    ulong `size` | the `size` of the file. If 0, it is taken to be the `size` of the existing file.
    void* `address` | the preferred `address` to map the file to, although the system is not required to honor it. If `null`, the system selects the most convenient `address`.
    size_t `window` | preferred block `size` of the amount of data to map at one time with 0 meaning map the entire file. The `window` `size` must be a multiple of the memory allocation page `size`.

    Throws:
    std.file.FileException
  const @property ulong `length`();
    Gives size in bytes of the memory mapped file.
  Mode `mode`();
    Read-only property returning the file `mode`.
  void[] `opSlice`();
    Returns entire file contents as an array.
  void[] `opSlice`(ulong `i1`, ulong `i2`);
    Returns slice of file contents as an array.
  ubyte `opIndex`(ulong `i`);
    Returns byte at index `i` in file.
  ubyte `opIndexAssign`(ubyte `value`, ulong `i`);
    Sets and returns byte at index `i` in file to `value`.

Copyright © 1999-2018 by the D Language Foundation | Page generated by Ddoc on Sat Apr 14 16:39:23 2018