# Spec Shifter
Shifts the input stream by `delta` elements.

Extends | Pipe
All Extended | Pipe
Defined in | <seqan/pipe.h>
Signature | `template <typename TInput, int DELTA[, bool OMIT_BLANK]> class Pipe<TInput, Shifter<DELTA, OMIT_BLANK> >;`

## Template Parameters

`TInput` | The type of the pipeline module this module reads from.
`OMIT_BLANK` | Omit undefined entries. If `true`, the output stream is `|delta|` elements shorter than the input stream. If `false`, the lengths are equal and blanks (default constructed elements) are inserted on the cut-off-opposite side, defaults to false.
`DELTA` | The shift size. For the output stream holds `out[i]=in[i+delta]`. For `delta>0` the input stream is cut of at the beginning and for `delta<0` at the end.

## 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 output type equals the input type.

#### Dox Sources

    /*!
     * @class Shifter
     *
     * @extends Pipe
     *
     * @headerfile <seqan/pipe.h>
     *
     * @brief Shifts the input stream by <tt>delta</tt> elements.
     *
     * @signature template <typename TInput, int DELTA[, bool OMIT_BLANK]> class
     *            Pipe<TInput, Shifter<DELTA, OMIT_BLANK> >;
     *
     * @tparam TInput The type of the pipeline module this module reads from.
     * @tparam OMIT_BLANK Omit undefined entries. If <tt>true</tt>, the output
     *                    stream is <tt>|delta|</tt> elements shorter than the input
     *                    stream. If <tt>false</tt>, the lengths are equal and
     *                    blanks (default constructed elements) are inserted on the
     *                    cut-off-opposite side, defaults to false.
     * @tparam DELTA The shift size. For the output stream holds
     *               <tt>out[i]=in[i+delta]</tt>. For <tt>delta>0</tt> the input
     *               stream is cut of at the beginning and for <tt>delta<0</tt> at
     *               the end.
     *
     * The output type equals the input type.
     */