# Spec Mums Iterator
Iterator to search for all maximum unique matches.

Extends | BottomUpIterator
All Extended | BottomUpIterator, Iter, VSTreeIterator
All Impl'd | CopyConstructibleConcept, DefaultConstructibleConcept, EqualityComparableConcept, ForwardIteratorConcept, InputIteratorConcept, IteratorAssociatedTypesConcept
Defined in | <seqan/index.h>
Signature | `Iterator<TContainer, Mums>::Type; template <typename TContainer> class Iter<TContainer, VSTree< BottomUp<Mums> > >;`

## Template Parameters

`TContainer` | Type of an index that can be iterated with a bottom-up iterator. Types: IndexEsa

## Member Function Overview

- `Iter::Iter(index[, minLength]);, Iter::Iter(iterator);`
  The constructor.

### Member Functions Inherited From BottomUpIterator

- `Iter`

### Member Functions Inherited From Iter

- `Iter`

### Member Functions Inherited From EqualityComparableConcept

- `operator!=`
- `operator==`

## Interface Function Overview

### Interface Functions Inherited From BottomUpIterator

- `goBegin`

### Interface Functions Inherited From VSTreeIterator

- `alignment`
- `assignProperty`
- `atEnd`
- `childrenAreLeaves`
- `countChildren`
- `countOccurrences`
- `getFrequency`
- `getOccurrence`
- `getOccurrences`
- `getOccurrencesBwt`
- `getProperty`
- `goBegin`
- `goNext`
- `goRoot`
- `isLeaf`
- `isLeftMaximal`
- `isPartiallyLeftExtensible`
- `isRightTerminal`
- `isRoot`
- `isUnique`
- `nodeHullPredicate`
- `nodePredicate`
- `property`
- `range`
- `repLength`
- `representative`
- `value`

### Interface Functions Inherited From InputIteratorConcept

- `operator++(suffix)`
- `operator++(prefix)`
- `operator->`
- `goNext`

### Interface Functions Inherited From IteratorAssociatedTypesConcept

- `operator*`
- `value`
- `getValue`

## Interface Metafunction Overview

### Interface Metafunctions Inherited From Iter

- `Container`
- `IterComplementConst`
- `IterMakeConst`
- `Spec`

### Interface Metafunctions Inherited From VSTreeIterator

- `EdgeLabel`

### Interface Metafunctions Inherited From IteratorAssociatedTypesConcept

- `Difference`
- `GetValue`
- `Pointer`
- `Reference`
- `Value`

## Detailed Description

Note:

Instead of using the class Iter directly we recommend to use the result of the metafunction Iterator<TContainer, Mums>::Type (which is Iter<TContainer, VSTree< BottomUp<Mums> > >).

## Member Functions Detail

### `Iter::Iter(index[, minLength]); Iter::Iter(iterator);`

The constructor.

#### Parameters

`index` | The index to be used for the iteration. Types: IndexEsa
`minLength` | Minimum length of the supermaximal repeats, default value is 1.
`iterator` | Another MultiMems iterator. Types: MultiMemsIterator

#### Data Races

Thread safety unknown!

#### Dox Sources

    /*!
     * @class MumsIterator Mums Iterator
     *
     * @extends BottomUpIterator
     *
     * @headerfile <seqan/index.h>
     *
     * @brief Iterator to search for all maximum unique matches.
     *
     * @note Instead of using the class Iter directly we recommend to use the result
     *       of the metafunction Iterator&lt;TContainer, Mums>::Type (which is
     *       Iter&lt;TContainer, VSTree&lt; BottomUp&lt;Mums> > >).
     *
     * @signature Iterator<TContainer, Mums>::Type;
     * @signature template <typename TContainer> class Iter<TContainer, VSTree<
     *            BottomUp<Mums> > >;
     *
     * @tparam TContainer Type of an index that can be iterated with a bottom-up
     *                    iterator. Types: @link IndexEsa @endlink
     *
     * @fn MumsIterator::Iter
     *
     * @brief The constructor.
     *
     * @signature Iter::Iter(index[, minLength]);
     * @signature Iter::Iter(iterator);
     *
     * @param[in] index The index to be used for the iteration. Types: @link
     *                  IndexEsa @endlink
     * @param[in] minLength Minimum length of the supermaximal repeats, default
     *                      value is 1.
     * @param[in] iterator Another MultiMems iterator. Types: @link
     *                     MultiMemsIterator @endlink
     */