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.

alias opDollar = length;

Forwards length.

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.

© 1999–2021 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/std_mmfile.html