Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXMemMap Class Reference

A Memory Map provides a view of a file as an array of memory; this allows the file itself to be used as backing for the data and very simplified file access results. More...

#include <FXMemMap.h>

Inheritance diagram for FX::FXMemMap:
FX::FXFile FX::FXIODevice FX::FXIO

List of all members.

Public Member Functions

 FXMemMap ()
 Construct a memory map.
void * openMap (const FXString &filename, FXlong off=0, FXival len=-1L, FXuint m=FXIO::Reading, FXuint p=FXIO::AllReadWrite)
 Open a file, and map a view of it into memory; the offset must be a multiple of the page size.
void * openMap (FXInputHandle h, FXlong off=0, FXival len=-1L, FXuint m=FXIO::Reading)
 Open map using existing file handle, and map a view of it into memory.
void * map (FXlong off=0, FXival len=-1L)
 Map a view of the already open file into memory.
void * base () const
 Return pointer to memory area.
FXival length () const
 Obtain length of the map.
FXlong offset () const
 Obtain offset of the map.
virtual FXlong position () const
 Get current file position.
virtual FXlong position (FXlong off, FXuint from=FXIO::Begin)
 Change file position, returning new position from start.
void * unmap ()
 Unmap the view of the file.
virtual FXival readBlock (void *data, FXival count)
 Read block of bytes, returning number of bytes read.
virtual FXival writeBlock (const void *data, FXival count)
 Write block of bytes, returning number of bytes written.
virtual FXbool flush ()
 Flush to disk.
virtual FXbool close ()
 Close file, and also the map.
 ~FXMemMap ()
 Destroy the map.

Detailed Description

A Memory Map provides a view of a file as an array of memory; this allows the file itself to be used as backing for the data and very simplified file access results.

Moreover, mapped files may be shared by processes, resuling in far less "real" memory being used than would otherwise be the case.


The documentation for this class was generated from the following file:

Copyright © 1997-2011 Jeroen van der Zijp