---
name: "std::Deque_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/std::Deque_iterator"
---

# std::Deque\_iterator(3)

A deque::iterator.

## NAME

std::Deque\_iterator - A **deque::iterator**.

## SYNOPSIS

`#include <deque>`

### Public Types

typedef **Deque\_iterator**\< Type, Type &, Type \* \> **iterator**\
 typedef **Deque\_iterator**\< Type, const Type &, const Type \* \> **const\_iterator**\
 typedef **random\_access\_iterator\_tag** **iterator\_category**\
 typedef Type **value\_type**\
 typedef Ptr **pointer**\
 typedef Ref **reference**\
 typedef size\_t **size\_type**\
 typedef ptrdiff\_t **difference\_type**\
 typedef Type \*\* **Map\_pointer**\
 typedef **Deque\_iterator** **Self**\

### Public Member Functions

**Deque\_iterator** (Type \*x, **Map\_pointer** y)\
 **Deque\_iterator** ()\
 **Deque\_iterator** (const **iterator** &x)\
 **reference** **operator \*** () const\
 **pointer** **operator-\>** () const\
 **Self** & **operator++** ()\
 **Self** **operator++** (int)\
 **Self** & **operator--** ()\
 **Self** **operator--** (int)\
 **Self** & **operator+=** (**difference\_type** n)\
 **Self** **operator+** (**difference\_type** n) const\
 **Self** & **operator-=** (**difference\_type** n)\
 **Self** **operator-** (**difference\_type** n) const\
 **reference** **operator\[\]** (**difference\_type** n) const\
 void **M\_set\_node** (**Map\_pointer** new\_node)\

### Static Public Member Functions

static size\_t **S\_buffer\_size** ()\

### Public Attributes

Type \* **M\_cur**\
 Type \* **M\_first**\
 Type \* **M\_last**\
 **Map\_pointer** **M\_node**\

## Detailed Description

### template\<typename Type, typename Ref, typename Ptr\> struct std::Deque\_iterator\< Type, Ref, Ptr \>

A **deque::iterator**.

Quite a bit of intelligence here. Much of the functionality of deque is actually passed off to this class. A deque holds two of these internally, marking its valid range. Access to elements is done as offsets of either of those two, relying on operator overloading in this class.

Definition at line 100 of file deque.

## Author

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