# Spec Multi Mems Iterator
Iterator to search for MultiMems.

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

## 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, MultiMems>::Type (which is Iter<TContainer, VSTree< BottomUp<MultiMems> > >).

## 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 MultiMemsIterator iterator. Types: MultiMemsIterator

#### Data Races

Thread safety unknown!

#### Dox Sources

    /*!
     * @class MultiMemsIterator Multi Mems Iterator
     *
     * @extends BottomUpIterator
     *
     * @headerfile <seqan/index.h>
     *
     * @brief Iterator to search for MultiMems.
     *
     * @note Instead of using the class Iter directly we recommend to use the result
     *       of the metafunction Iterator&lt;TContainer, MultiMems&gt;::Type (which
     *       is Iter<TContainer, VSTree< BottomUp<MultiMems&gt; &gt; &gt;).
     *
     * @signature Iterator<TContainer, MultiMems>::Type;
     * @signature template <typename TContainer> class Iter<TContainer, VSTree<
     *            BottomUp<MultiMems> > >;
     *
     * @tparam TContainer Type of an index that can be iterated with a bottom-up
     *                    iterator. Types: IndexEsa
     *
     * @fn MultiMemsIterator::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 MultiMemsIterator iterator. Types: @link
     *                     MultiMemsIterator @endlink
     */