# Spec MapperSpec
Permutes all elements using a custom destination function.

Extends | Pool
All Extended | Pool
All Subcl's | MapperConfig, MapperConfigSize
Defined in | <seqan/pipe.h>
Signature | `template <typename TValue, typename TConfig> class Pool<TValue, MapperSpec<TConfig> >;`

## Template Parameters

`TConfig` | Configuration Spec. Defines destination function, size type, and file type. Types: MapperConfig, MapperConfigSize
`TValue` | The value type, that is the type of the stream elements.

## Interface Function Overview

### Interface Functions Inherited From Pool

- `assign`
- `atEnd`
- `beginRead`
- `beginWrite`
- `clear`
- `endRead`
- `endWrite`
- `front`
- `length`
- `pop`
- `push`
- `resize`

## Detailed Description

The Pool's input/output type is `TValue` and the size type is determined by the `TConfig`.

#### Dox Sources

    /*!
     * @class MapperSpec
     *
     * @extends Pool
     *
     * @headerfile <seqan/pipe.h>
     *
     * @brief Permutes all elements using a custom destination function.
     *
     * @signature template <typename TValue, typename TConfig> class Pool<TValue,
     *            MapperSpec<TConfig> >;
     *
     * @tparam TConfig Configuration Spec. Defines destination function, size type,
     *                 and file type. Types: MapperConfig, MapperConfigSize
     * @tparam TValue The value type, that is the type of the stream elements.
     *
     * The Pool's input/output type is <tt>TValue</tt> and the size type is
     * determined by the <tt>TConfig</tt>.
     */