# Spec PositionIterator
Adapts a position iterator to a rooted iterator.

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

## Template Parameters

`TContainer` | The container to create an iterator for.

## Member Function Overview

- `Iter::Iter();, Iter::Iter(other);, Iter::Iter(container[, position]);`
  Constructor

### Member Functions Inherited From Iter

- `Iter`

## Interface Function Overview

### 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`

## Detailed Description

### Remarks

PositionIterators provide the concept RootedIteratorConcept.

## Member Functions Detail

### `Iter::Iter(); Iter::Iter(other); Iter::Iter(container[, position]);`

Constructor

#### Parameters

`other` | Other PositionIterator to copy from.
`container` | A TContainer to get an iterator to.
`position` | The position to create the iterator at, defauls to 0.

#### Data Races

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

#### Dox Sources

    /*!
     * @class PositionIterator
     *
     * @extends Iter
     *
     * @headerfile <seqan/basic.h>
     *
     * @brief Adapts a position iterator to a rooted iterator.
     *
     * @signature template <typename TContainer> class Iter<TContainer,
     *            PositionIterator>;
     *
     * @tparam TContainer The container to create an iterator for.
     *
     * @section Remarks
     *
     * PositionIterators provide the concept RootedIteratorConcept.
     *
     * @fn PositionIterator::Iter
     *
     * @brief Constructor
     *
     * @signature Iter::Iter();
     * @signature Iter::Iter(other);
     * @signature Iter::Iter(container[, position]);
     *
     * @param[in] other Other PositionIterator to copy from.
     * @param[in] container A TContainer to get an iterator to.
     * @param[in] position The position to create the iterator at, defauls to 0.
     */