Spec MMap String
String that is stored in external memory using direct memory mapping.

Extends String
All Extended String
All Impl'd AssignableConcept, ContainerConcept, DestructibleConcept, ForwardContainerConcept, RandomAccessContainerConcept, ReversibleContainerConcept, SegmentableConcept, SequenceConcept, TextConcept
Defined in <seqan/file.h>
Signature template <typename TValue[, typename TConfig]> class String<TValue, MMap<TConfig> >;

Template Parameters

TValue The value type to use for the items/characters.
TConfig The configuration to use for the underlying file. Default: MMapConfig.

Member Function Overview

Member Functions Inherited From String

Member Functions Inherited From AssignableConcept

Member Functions Inherited From RandomAccessContainerConcept

Interface Function Overview

Interface Functions Inherited From String

Interface Functions Inherited From AssignableConcept

Interface Functions Inherited From ContainerConcept

Interface Functions Inherited From RandomAccessContainerConcept

Interface Functions Inherited From SegmentableConcept

Interface Functions Inherited From SequenceConcept

Interface Functions Inherited From TextConcept

Interface Metafunction Overview

Interface Metafunctions Inherited From ContainerConcept

Interface Metafunctions Inherited From SegmentableConcept

Interface Metafunctions Inherited From SequenceConcept

Interface Metafunctions Inherited From TextConcept

Detailed Description

The MMap String enables to access sequences larger than the available physical memory (RAM) by using external memory (e.g. Hard disk, Network storage, ...) mapped into memory. The size of the string is limited by external memory and the logical address space (4GB on a 32bit OS). See the String constructor for more details.

This string also supports fast appending and removing of values at the end.

Member Functions Detail

String::String(); String::String(file); String::String(fileName[, openMode]);



file The File to use for reading and writing. You must ensture that file is open as the string will not call open and close on the file.
fileName The path to open. Type: char const *
openMode The open mode.

Interface Functions Detail

bool close(str);

Close the MMapString.


str The MMapString to close the file of.


bool true if the closing succeeded, false otherwise.

void flush(str);

Waits for all open read/write requests to complete.


str The MMapString to flush.

bool mmapAdvise(str, scheme[, beginPos, size]);

Call advise function for memory mapped files.


str The MMapString to call advise in.
scheme The memory access scheme to use. Type: FileMappingAdvise.
beginPos Begin position in the string for the advise call.
size Size of the range used for the advise call.


bool true if the advise was successful, false otherwise.

bool open(str, fileName[, openMode]);

Open the MMapString's underlying file from a path.


str The MMapString to open.
fileName Path to the file to open. Type: char const *.
openMode The open mode. Type: int.


bool true if the operation succeeded and false otherwise.

bool openTemp(str);

Open an MMapString using an temporary file.


str The MMapString to open using temporary file.


bool true if opening succeeded, false otherwise.