# Spec VertexIterator
Vertex iterator for Graph.

Extends | Iter
All Extended | Iter
All Impl'd | IteratorAssociatedTypesConcept
Defined in |
Signature | `Iterator<TGraph, VertexIterator>::Type; template <typename TGraph, typename TSpec> class Iter<TGraph, GraphIterator<InternalVertexIterator<TSpec> > >;`

## Template Parameters

`TGraph` | The graph to iterate the edges of.

## Member Function Overview

- `Iter::Iter();, Iter::Iter(iter);, Iter::Iter(graph);`
  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

The first signature is the signature of the corresponding graph's Iterator metafunction call. The second call is the internal definition of the type. You should always get this type using the metafunction call from the first signature.

## Member Functions Detail

### `Iter::Iter(); Iter::Iter(iter); Iter::Iter(graph);`

Constructor

#### Parameters

`iter` | Other OutEdgeIterator to copy from.
`graph` | The Graph to iterate vertices of.

#### Data Races

Thread safety unknown!

#### Dox Sources

    /*!
     * @class VertexIterator
     *
     * @extends Iter
     *
     * @brief Vertex iterator for @link Graph @endlink.
     *
     * @signature Iterator<TGraph, VertexIterator>::Type;
     * @signature template <typename TGraph, typename TSpec> class Iter<TGraph,
     *            GraphIterator<InternalVertexIterator<TSpec> > >;
     *
     * @tparam TGraph The graph to iterate the edges of.
     *
     * The first signature is the signature of the corresponding @link
     * ContainerConcept#Iterator graph's Iterator @endlink metafunction call. The
     * second call is the internal definition of the type. You should always get
     * this type using the metafunction call from the first signature.
     *
     * @fn VertexIterator::VertexIterator
     *
     * @brief Constructor
     *
     * @signature Iter::Iter();
     * @signature Iter::Iter(iter);
     * @signature Iter::Iter(graph);
     *
     * @param[in] iter Other OutEdgeIterator to copy from.
     * @param[in] graph The @link Graph @endlink to iterate vertices of.
     */