D
Language
Phobos
Comparisons
object
std
std.base64
std.boxer
std.compiler
std.conv
std.ctype
std.date
std.file
std.format
std.gc
std.intrinsic
std.math
std.md5
std.mmfile
std.openrj
std.outbuffer
std.path
std.process
std.random
std.recls
std.regexp
std.socket
std.socketstream
std.stdint
std.stdio
std.cstream
std.stream
std.string
std.system
std.thread
std.uri
std.utf
std.zip
std.zlib
std.windows
std.linux
std.c
std.c.stdio
std.c.windows
std.c.linux
|
std.mmfile
Read and write memory mapped files.
- class MmFile
- MmFile objects control the memory mapped file resource.
Any errors detected by
the MmFile objects will throw an instance of
std.file.FileException.
- enum Mode
- 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(char[] filename);
- Open memory mapped file filename for reading.
File is closed when the object instance is deleted.
- this(char[] filename, Mode mode, size_t size, void* address, size_t window=0);
- Open memory mapped file filename in mode.
File is closed when the object instance is deleted.
filename gives the name of the file. If null, an
anonymous file mapping is created.
mode gives the access mode defined above.
size gives the size of the file. If 0, it is taken to
be the size of the existing file.
address gives the preferred address to map the file to,
allthough the system is not required to honor it. If
null, the system selects the most convenient address.
window gives the 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.
- ~this()
- Flushes pending output and closes the memory mapped file.
- void flush()
- Flushes pending output.
- Mode mode()
- Read-only property returning the file mode.
- ulong length()
- Gives size in bytes of the memory mapped file.
- size_t window
- Property holding the window size. When mapping
data the window on either side of the required range
is also mapped in order to reduce the probability of thrashing.
Data is mapped in multiples of the window size unless the entire
file is mapped.
- Operator overloads
- 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.
|