# Spec Caster
Casts the input type in a specific output type.

Extends | Pipe
All Extended | Pipe
Defined in | <seqan/pipe.h>
Signature | `template <typename TInput, typename TValue[, typename TSpec]> class Pipe<TInput, Caster<TValue, TSpec> >;`

## Template Parameters

`TInput` | The type of the pipeline module this module reads from.
`TValue` | The new output type.
`TSpec` | `CasterReinterpret` (default) or `CasterConvert`.

## Member Function Overview

### Member Functions Inherited From Pipe

- `Pipe`

## Interface Function Overview

### Interface Functions Inherited From Pipe

- `assign`
- `atEnd`
- `beginRead`
- `endRead`
- `front`
- `length`
- `pop`

## Interface Metafunction Overview

### Interface Metafunctions Inherited From Pipe

- `Size`
- `Value`

## Detailed Description

The input stream is casted using `reinterpret_cast<TValue>`.

#### Dox Sources

    /*!
     * @class Caster
     *
     * @extends Pipe
     *
     * @headerfile <seqan/pipe.h>
     *
     * @brief Casts the input type in a specific output type.
     *
     * @signature template <typename TInput, typename TValue[, typename TSpec]>
     *            class Pipe<TInput, Caster<TValue, TSpec> >;
     *
     * @tparam TInput The type of the pipeline module this module reads from.
     * @tparam TValue The new output type.
     * @tparam TSpec <tt>CasterReinterpret</tt> (default) or <tt>CasterConvert</tt>.
     *
     * The input stream is casted using <tt>reinterpret_cast&lt;TValue&gt;</tt>.
     */