ExternalConfig - SeqAn API Documentation

# Class ExternalConfig
Standard configuration for the ExternalString.

Defined in | <seqan/file.h>
Signature | `template <[typename TFile[, unsigned SEQAN_PAGESIZE[, unsigned FRAMES]]> struct ExternalConfig;`

## Template Parameters

`TFile` | The File type to use. Default: `File<>`.
`SEQAN_PAGESIZE` | The number of values in one page. This should be a power of 2 to speed up transfer and calculations. Default: 220.
`FRAMES` | The number of pages that should reside in internal memory. To enable prefetching and automatic swap-out, `frames` should be greater than 1. Default: 2.

## Detailed Description

When using this configuration, the `Size` type of the ExternalString is `unsigned`. Thus, with this configuration at most 4.294.967.296 values can be stored in an ExternalString on a 32 bit system.

For a larger size type use ExternalConfigLarge.

## See Also

- ExternalConfigLarge

#### Dox Sources

    /*!
     * @class ExternalConfig
     *
     * @headerfile <seqan/file.h>
     *
     * @brief Standard configuration for the @link ExternalString @endlink.
     *
     * @signature template <[typename TFile[, unsigned SEQAN_PAGESIZE[, unsigned
     *            FRAMES]]> struct ExternalConfig;
     *
     * @tparam TFile The @link File @endlink type to use. Default:
     *               <tt>File&lt;&gt;</tt>.
     * @tparam SEQAN_PAGESIZE The number of values in one page. This should be a
     *                        power of 2 to speed up transfer and calculations.
     *                        Default: 2<sup>20</sup>.
     * @tparam FRAMES The number of pages that should reside in internal memory. To
     *                enable prefetching and automatic swap-out, <tt>frames</tt>
     *                should be greater than 1. Default: 2.
     *
     * When using this configuration, the <tt>Size</tt> type of the ExternalString
     * is <tt>unsigned</tt>. Thus, with this configuration at most 4.294.967.296
     * values can be stored in an ExternalString on a 32 bit system.
     *
     * For a larger size type use @link ExternalConfigLarge @endlink.
     *
     * @see ExternalConfigLarge
     */