# Spec AdaptorIterator
Adapts iterators to RootedIteratorConcept.

Extends | Iter
All Extended | Iter
All Impl'd | IteratorAssociatedTypesConcept
Defined in | <seqan/basic.h>
Signature | `template <typename TContainer, typename TIterator[, typename TSpec]> class Iter;`

## Template Parameters

`TContainer` | The container to iterate over.
`TIterator` | The iterator type to wrap.
`TSpec` | Specialization tag for AdaptorIterator. Defaults to `Default`.

## Member Function Overview

- `Iter::Iter();, Iter::Iter(iter);, Iter::Iter(container[, iterator]);`
  Constructor

### Member Functions Inherited From Iter

- `Iter`

## Interface Function Overview

- `TIter hostIterator(iter);`
  Return the host iterator of an AdaptorIterator.
- `void setContainer(iter, container);`
  Set container of an AdaptorIterator.
- `void setPosition(iter, pos);`
  Set position of AdaptorIterator.

### Interface Functions Inherited From IteratorAssociatedTypesConcept

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

## Interface Metafunction Overview

### Interface Metafunctions Inherited From Iter

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

### Interface Metafunctions Inherited From IteratorAssociatedTypesConcept

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

## Member Functions Detail

### `Iter::Iter(); Iter::Iter(iter); Iter::Iter(container[, iterator]);`

Constructor

#### Parameters

`iter` | Other AdaptorIterator to copy from.
`container` | The container to create an container of.
`iterator` | The `Standard` iterator to wrap, defaults to beginning of `container`.

#### Data Races

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

## Interface Functions Detail

### `TIter hostIterator(iter);`

Return the host iterator of an AdaptorIterator.

#### Parameters

`iter` | The AdaptorIterator to get the iterator for.

#### Returns

`TIter` | The wrapped iterator.

#### Data Races

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

### `void setContainer(iter, container);`

Set container of an AdaptorIterator.

#### Parameters

`iter` | The AdaptorIterator to set the container to.
`container` | The container to set for the AdaptorIterator.

#### Data Races

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

### `void setPosition(iter, pos);`

Set position of AdaptorIterator.

#### Parameters

`iter` | The AdaptorIterator to set the position for.
`pos` | The position to set.

#### Data Races

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

#### Dox Sources

    /*!
     * @class AdaptorIterator
     *
     * @extends Iter
     *
     * @headerfile <seqan/basic.h>
     *
     * @brief Adapts iterators to RootedIteratorConcept.
     *
     * @signature template <typename TContainer, typename TIterator[, typename
     *            TSpec]> class Iter;
     *
     * @tparam TContainer The container to iterate over.
     * @tparam TIterator The iterator type to wrap.
     * @tparam TSpec Specialization tag for AdaptorIterator. Defaults to
     *               <tt>Default</tt>.
     *
     * @fn AdaptorIterator::Iter
     *
     * @brief Constructor
     *
     * @signature Iter::Iter();
     * @signature Iter::Iter(iter);
     * @signature Iter::Iter(container[, iterator]);
     *
     * @param[in] iter Other AdaptorIterator to copy from.
     * @param[in] container The container to create an container of.
     * @param[in] iterator The <tt>Standard</tt> iterator to wrap, defaults to
     *                     beginning of <tt>container</tt>.
     *
     * @fn AdaptorIterator#setContainer
     *
     * @brief Set container of an AdaptorIterator.
     *
     * @signature void setContainer(iter, container);
     *
     * @param[in,out] iter The AdaptorIterator to set the container to.
     * @param[in] container The container to set for the AdaptorIterator.
     *
     * @fn AdaptorIterator#hostIterator
     *
     * @brief Return the host iterator of an AdaptorIterator.
     *
     * @signature TIter hostIterator(iter);
     *
     * @param[in] iter The AdaptorIterator to get the iterator for.
     *
     * @return TIter The wrapped iterator.
     *
     * @fn AdaptorIterator#setPosition
     *
     * @brief Set position of AdaptorIterator.
     *
     * @signature void setPosition(iter, pos);
     *
     * @param[in,out] iter The AdaptorIterator to set the position for.
     * @param[in] pos The position to set.
     */