---
name: "__gnu_cxx::normal_iterator"
section: "3"
platform: "linux"
package: "libstdc++5-3.3-doc"
version: "1:3.3.6-15"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_cxx::normal_iterator"
---

# \_\_gnu\_cxx::normal\_iterator(3)

## NAME

\_\_gnu\_cxx::normal\_iterator -

## SYNOPSIS

Inherits **std::iterator\< Category, Type, Distance, Pointer, Reference \>\< std::iterator\_traits\< Iterator \>::iterator\_category, std::iterator\_traits\< Iterator \>::value\_type, std::iterator\_traits\< Iterator \>::iterator\_traits\< Iterator \>::difference\_type, std::iterator\_traits\< Iterator \>::iterator\_traits\< Iterator \>::pointer, std::iterator\_traits\< Iterator \>::iterator\_traits\< Iterator \>::reference \>**.

### Public Types

typedef **iterator\_traits**\< Iterator \>::**difference\_type** **difference\_type**\
 *Distance between iterators is represented as this type.*  typedef **iterator\_traits**\< Iterator \>::**reference** **reference**\
 *This type represents a reference-to-value\_type.*  typedef **iterator\_traits**\< Iterator \>::**pointer** **pointer**\
 *This type represents a pointer-to-value\_type.*  typedef Category **iterator\_category**\
 *One of the* **tag types***.*  typedef Type **value\_type**\
 *The type 'pointed to' by the iterator.*

### Public Member Functions

**normal\_iterator** ()\
 **normal\_iterator** (const Iterator &\_\_i)\
 template\<typename Iter\> **normal\_iterator** (const **normal\_iterator**\< Iter, Container \> &\_\_i)\
 **reference** **operator \*** () const\
 **pointer** **operator-\>** () const\
 **normal\_iterator** & **operator++** ()\
 **normal\_iterator** **operator++** (int)\
 **normal\_iterator** & **operator--** ()\
 **normal\_iterator** **operator--** (int)\
 **reference** **operator\[\]** (const **difference\_type** &n) const\
 **normal\_iterator** & **operator+=** (const **difference\_type** &n)\
 **normal\_iterator** **operator+** (const **difference\_type** &n) const\
 **normal\_iterator** & **operator-=** (const **difference\_type** &n)\
 **normal\_iterator** **operator-** (const **difference\_type** &n) const\
 const Iterator & **base** () const\

### Protected Attributes

Iterator **M\_current**\

## Detailed Description

### template\<typename Iterator, typename Container\> class \_\_gnu\_cxx::normal\_iterator\< Iterator, Container \>

Definition at line 574 of file stl\_iterator.h.

## Member Typedef Documentation

### template\<typename Iterator, typename Container\> typedef iterator\_traits\<Iterator\>::difference\_type \_\_gnu\_cxx::normal\_iterator\< Iterator, Container \>::difference\_type

Distance between iterators is represented as this type.

Reimplemented from **std::iterator\< Category, Type, Distance, Pointer, Reference \>**.

Definition at line 586 of file stl\_iterator.h.

### template\<typename Iterator, typename Container\> typedef iterator\_traits\<Iterator\>::reference \_\_gnu\_cxx::normal\_iterator\< Iterator, Container \>::reference

This type represents a reference-to-value\_type.

Reimplemented from **std::iterator\< Category, Type, Distance, Pointer, Reference \>**.

Definition at line 587 of file stl\_iterator.h.

### template\<typename Iterator, typename Container\> typedef iterator\_traits\<Iterator\>::pointer \_\_gnu\_cxx::normal\_iterator\< Iterator, Container \>::pointer

This type represents a pointer-to-value\_type.

Reimplemented from **std::iterator\< Category, Type, Distance, Pointer, Reference \>**.

Definition at line 588 of file stl\_iterator.h.

### template\<typename Category, typename Type, typename Distance = ptrdiff\_t, typename Pointer = Type\*, typename Reference = Type&\> typedef Category std::iterator\< Category, Type, Distance, Pointer, Reference \>::iterator\_category` [inherited]`

One of the **tag types**.

Definition at line 107 of file stl\_iterator\_base\_types.h.

### template\<typename Category, typename Type, typename Distance = ptrdiff\_t, typename Pointer = Type\*, typename Reference = Type&\> typedef Type std::iterator\< Category, Type, Distance, Pointer, Reference \>::value\_type` [inherited]`

The type 'pointed to' by the iterator.

Reimplemented in **\_\_gnu\_cxx::sequence\_buffer\< Sequence, Buf\_sz \>**.

Definition at line 109 of file stl\_iterator\_base\_types.h.

## Author

Generated automatically by Doxygen for libstdc++-v3 Source from the source code.
