# Spec ConcatVirtualIterator
Iterator that sequentially iterates through the elements of a StringSet as if they were directly concatenated, also see ConcatDirectStringSet.

Extends | Iter
All Extended | Iter
All Impl'd | IteratorAssociatedTypesConcept
Defined in | <seqan/sequence.h>
Signature | `template <typename TStringSet[, typename TDelimiter]> class Iter<TStringSet, ConcatVirtual<TDelimiter> >;`

## Template Parameters

`TStringSet` | The StringSet to iterate.
`TDelimiter` | The delimiter character. Default: `void`.

## Member Function Overview

- `Iter::Iter(host[, objNo, offset]);`
  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`

## Member Functions Detail

### `Iter::Iter(host[, objNo, offset]);`

Constructor.

#### Parameters

`host` | Container to iterate.
`objNo` | Sequence number to set the iterator to. Default: 0.
`offset` | Offset in the object (specified by objNo) to point to. Defaults 0.

If `objNo` and `offset` are not given then the iterator will point to the first element with offset 0.

#### Data Races

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

#### Dox Sources

    /*!
     * @class ConcatVirtualIterator
     *
     * @extends Iter
     *
     * @headerfile <seqan/sequence.h>
     *
     * @brief Iterator that sequentially iterates through the elements of a @link
     *        StringSet @endlink as if they were directly concatenated, also see
     *        @link ConcatDirectStringSet @endlink.
     *
     * @signature template <typename TStringSet[, typename TDelimiter]> class
     *            Iter<TStringSet, ConcatVirtual<TDelimiter> >;
     *
     * @tparam TStringSet The @link StringSet @endlink to iterate.
     * @tparam TDelimiter The delimiter character. Default: <tt>void</tt>.
     *
     * @fn ConcatVirtualIterator::Iter
     *
     * @brief Constructor.
     *
     * @signature Iter::Iter(host[, objNo, offset]);
     *
     * @param[in] host Container to iterate.
     * @param[in] objNo Sequence number to set the iterator to. Default: 0.
     * @param[in] offset Offset in the object (specified by objNo) to point to.
     *                   Defaults 0.
     *
     * If <tt>objNo</tt> and <tt>offset</tt> are not given then the iterator will
     * point to the first element with offset 0.
     */