# Concept ForwardIteratorConcept
Iterator that allows passing over a linear sequence multiple times.

Extends | DefaultConstructibleConcept, InputIteratorConcept
All Extended | CopyConstructibleConcept, DefaultConstructibleConcept, EqualityComparableConcept, InputIteratorConcept, IteratorAssociatedTypesConcept
All Subcl's | BidirectionalIteratorConcept, MutableBidirectionalIteratorConcept, MutableForwardIteratorConcept, MutableRandomAccessIteratorConcept, MutableRootedIteratorConcept, MutableRootedRandomAccessIteratorConcept, RandomAccessIteratorConcept, RootedIteratorConcept, RootedRandomAccessIteratorConcept
Defined in | <seqan/basic.h>
Signature | `ForwardIteratorConcept<T>`

## Detailed Description

The SeqAn iterators mirror the definitions from ConceptC++.

### Examples

In the following, `x` is an iterator to type `X`.

The following expressions must be valid.

    ++x  // Preincrement.
    x++  // Postincrement.

## Member Function Overview

### Member Functions Inherited From EqualityComparableConcept

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

## Interface Function Overview

### Interface Functions Inherited From InputIteratorConcept

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

### Interface Functions Inherited From IteratorAssociatedTypesConcept

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

## Interface Metafunction Overview

### Interface Metafunctions Inherited From IteratorAssociatedTypesConcept

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

#### Dox Sources

    /*!
     * @concept ForwardIteratorConcept
     *
     * @headerfile <seqan/basic.h>
     *
     * @extends InputIteratorConcept
     * @extends DefaultConstructibleConcept
     *
     * @brief Iterator that allows passing over a linear sequence multiple times.
     *
     * @signature ForwardIteratorConcept<T>
     *
     * The SeqAn iterators mirror the definitions from <a href="http://generic-progr
     * amming.org/languages/conceptcpp/concept_web.php?header=iterator">ConceptC++</
     * a>.
     *
     * @section Examples
     *
     * In the following, <tt>x</tt> is an iterator to type <tt>X</tt>.
     *
     * The following expressions must be valid.
     *
     * @code{.cpp}
     * ++x  // Preincrement.
     * x++  // Postincrement.
     * @endcode
     */