# Spec UnbandedLocalAlignmentEnumerator
Unbanded enumeration of local alignments using the Waterman-Eggert algorithm.

Extends | LocalAlignmentEnumerator
All Extended | LocalAlignmentEnumerator
Defined in | <seqan/align.h>
Signature | `template <typename TScore> class LocalAlignmentEnumerator<TScore, Unbanded>;`

## Template Parameters

`TScore` | The Score type.

## Member Function Overview

- `LocalAlignmentEnumerator::LocalAlignmentEnumerator(scheme[, cutoff]);`
  Constructor.

## Interface Function Overview

### Interface Functions Inherited From LocalAlignmentEnumerator

- `getScore`
- `nextLocalAlignment`

## Detailed Description

### Examples

Enumerate all alignments into a Align object.

    SimpleScore scoringScheme(2, -1, -1, -2);
    LocalAlignmentEnumerator<SimpleScore, Unbanded> enumerator(scoringScheme, 5);

    Dna5String seqH = "CGAGAGAGACCGAGA";
    Dna5String seqV = "TTCTGAGATCCGTTTTT";

    Align<Dna5String> align;
    resize(rows(align), 2);@s
    assignSource(row(align), 0, seqH);
    assignSource(row(align), 1, seqV);

    int i = 0;
    while (nextLocalAlignment(align, enumerator))
    {
        std::cout << i << "-th alignment:\n";
        std::cout << align << "\n\n";
        std::cout << "score == " << getScore(enumerator) << "\n";
    }

## Member Functions Detail

### `LocalAlignmentEnumerator::LocalAlignmentEnumerator(scheme[, cutoff]);`

Constructor.

#### Parameters

`scheme` | The Score object to use for the alignment score.
`cutoff` | Alignments with scores `< cutoff` will be discarded (`int`, default 0).

#### Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

#### Dox Sources

    /*!
     * @class UnbandedLocalAlignmentEnumerator
     *
     * @extends LocalAlignmentEnumerator
     *
     * @headerfile <seqan/align.h>
     *
     * @brief Unbanded enumeration of local alignments using the Waterman-Eggert
     *        algorithm.
     *
     * @signature template <typename TScore> class LocalAlignmentEnumerator<TScore,
     *            Unbanded>;
     *
     * @tparam TScore The @link Score @endlink type.
     *
     * @section Examples
     *
     * Enumerate all alignments into a @link Align @endlink object.
     *
     * @code{.cpp}
     * SimpleScore scoringScheme(2, -1, -1, -2);
     * LocalAlignmentEnumerator<SimpleScore, Unbanded> enumerator(scoringScheme, 5);
     *
     * Dna5String seqH = "CGAGAGAGACCGAGA";
     * Dna5String seqV = "TTCTGAGATCCGTTTTT";
     *
     * Align<Dna5String> align;
     * resize(rows(align), 2);@s
     * assignSource(row(align), 0, seqH);
     * assignSource(row(align), 1, seqV);
     *
     * int i = 0;
     * while (nextLocalAlignment(align, enumerator))
     * {
     *     std::cout << i << "-th alignment:\n";
     *     std::cout << align << "\n\n";
     *     std::cout << "score == " << getScore(enumerator) << "\n";
     * }
     * @endcode
     *
     *
     * @fn UnbandedLocalAlignmentEnumerator::LocalAlignmentEnumerator
     *
     * @brief Constructor.
     *
     * @signature LocalAlignmentEnumerator::LocalAlignmentEnumerator(scheme[,
     *            cutoff]);
     *
     * @param[in] scheme The @link Score @endlink object to use for the alignment
     *                   score.
     * @param[in] cutoff Alignments with scores <tt>&lt; cutoff</tt> will be
     *                   discarded (<tt>int</tt>, default 0).
     */