# Spec EditEnvironment
Outputs tuples of the `tupleLen` consecutive elements of the input stream.

Extends | Pipe
All Extended | Pipe
Defined in | <seqan/pipe.h>
Signature | `template <typename TInput, unsigned TUPLE_LEN, bool OMIT_LAST> class Pipe<TInput, Tupler<TUPLE_LEN, OMIT_LAST> >;`

## Template Parameters

`OMIT_LAST` | Omit half filled tuples. If `true`, the output stream is `tupleLen-1` elements shorter than the input stream. If `false`, the lengths are identical and the last tuples are filled with blanks (default constructed elements) for undefined entries.
`TInput` | The type of the pipeline module this module reads from.
`TUPLE_LEN` | The tuple length.The tuples contain elements `in[i]in[i+1]...in[i+(tupleLen-1)]`.

## 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 is a Tuple of input elements and length `tupleLen` (i.e. `Tuple<Value<TInput>::Type, tupleLen>`).

The tuples are sequences of the form `in[i]in[i-1]in[i-2]..in[i-tupleLen+1]`. For `omitLast=false` `i` begins with 0 and for `omitLast=true` `i` begins with `tupleLen-1`.

#### Dox Sources

    /*!
     * @class EditEnvironment
     *
     * @extends Pipe
     *
     * @headerfile <seqan/pipe.h>
     *
     * @brief Outputs tuples of the <tt>tupleLen</tt> consecutive elements of the
     *        input stream.
     *
     * @signature template <typename TInput, unsigned TUPLE_LEN, bool OMIT_LAST>
     *            class Pipe<TInput, Tupler<TUPLE_LEN, OMIT_LAST> >;
     *
     * @tparam OMIT_LAST Omit half filled tuples. If <tt>true</tt>, the output
     *                   stream is <tt>tupleLen-1</tt> elements shorter than the
     *                   input stream. If <tt>false</tt>, the lengths are identical
     *                   and the last tuples are filled with blanks (default
     *                   constructed elements) for undefined entries.
     * @tparam TInput The type of the pipeline module this module reads from.
     * @tparam TUPLE_LEN The tuple length.The tuples contain elements
     *                   <tt>in[i]in[i+1]...in[i+(tupleLen-1)]</tt>.
     *
     * The output type is a @link Tuple @endlink of input elements and length
     * <tt>tupleLen</tt> (i.e. <tt>Tuple&lt;Value&lt;TInput&gt;::Type,
     * tupleLen&gt;</tt>).
     *
     * The tuples are sequences of the form
     * <tt>in[i]in[i-1]in[i-2]..in[i-tupleLen+1]</tt>. For <tt>omitLast=false</tt>
     * <tt>i</tt> begins with 0 and for <tt>omitLast=true</tt> <tt>i</tt> begins
     * with <tt>tupleLen-1</tt>.
     */