---
name: "__gnu_cxx::Rope_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::Rope_iterator"
---

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

## NAME

\_\_gnu\_cxx::Rope\_iterator -

## SYNOPSIS

Inherits **\_\_gnu\_cxx::Rope\_iterator\_base\< CharT, Alloc \>\< CharT, Alloc \>**.

### Public Types

typedef **Rope\_char\_ref\_proxy**\< CharT, Alloc \> **reference**\
 *This type represents a reference-to-value\_type.*  typedef **Rope\_char\_ref\_proxy**\< CharT, Alloc \> \* **pointer**\
 *This type represents a pointer-to-value\_type.*  typedef Alloc **\_allocator\_type**\
 typedef **std::random\_access\_iterator\_tag** **iterator\_category**\
 *One of the* **tag types***.*  typedef CharT **value\_type**\
 *The type 'pointed to' by the iterator.*  typedef ptrdiff\_t **difference\_type**\
 *Distance between iterators is represented as this type.*

### Public Member Functions

**rope**\< CharT, Alloc \> & **container** ()\
 **Rope\_iterator** ()\
 **Rope\_iterator** (const **Rope\_iterator** &x)\
 **Rope\_iterator** (**rope**\< CharT, Alloc \> &\_\_r, size\_t position)\
 **~Rope\_iterator** ()\
 **Rope\_iterator** & **operator=** (const **Rope\_iterator** &x)\
 **reference** **operator \*** ()\
 **Rope\_iterator** & **operator++** ()\
 **Rope\_iterator** & **operator+=** (ptrdiff\_t n)\
 **Rope\_iterator** & **operator--** ()\
 **Rope\_iterator** & **operator-=** (ptrdiff\_t n)\
 **Rope\_iterator** **operator++** (int)\
 **Rope\_iterator** **operator--** (int)\
 **reference** **operator\[\]** (ptrdiff\_t n)\
 size\_t **index** () const\

### Protected Types

typedef **Rope\_iterator\_base**\< CharT, Alloc \>::**RopeRep** **RopeRep**\
 enum \
 enum \

### Protected Member Functions

**Rope\_iterator** (**rope**\< CharT, Alloc \> \*\_\_r, size\_t position)\
 void **M\_check** ()\
 void **M\_incr** (size\_t n)\
 void **M\_decr** (size\_t n)\

### Static Protected Member Functions

static void **S\_setbuf** (**Rope\_iterator\_base** &x)\
 static void **S\_setcache** (**Rope\_iterator\_base** &x)\
 static void **S\_setcache\_for\_incr** (**Rope\_iterator\_base** &x)\

### Protected Attributes

**rope**\< CharT, Alloc \> \* **M\_root\_rope**\
 size\_t **M\_current\_pos**\
 **RopeRep** \* **M\_root**\
 size\_t **M\_leaf\_pos**\
 \_GCCONST CharT \* **M\_buf\_start**\
 \_GCCONST CharT \* **M\_buf\_ptr**\
 \_GCCONST CharT \* **M\_buf\_end**\
 const **RopeRep** \* **M\_path\_end** \[S\_path\_cache\_len\]\
 int **M\_leaf\_index**\
 unsigned char **M\_path\_directions**\
 CharT **M\_tmp\_buf** \[S\_iterator\_buf\_len\]\

### Friends

class **rope\< CharT, Alloc \>**\

## Detailed Description

### template\<class CharT, class Alloc\> class \_\_gnu\_cxx::Rope\_iterator\< CharT, Alloc \>

Definition at line 1035 of file stl\_rope.h.

## Member Typedef Documentation

### template\<class CharT, class Alloc\> typedef Rope\_char\_ref\_proxy\<CharT,Alloc\> \_\_gnu\_cxx::Rope\_iterator\< CharT, Alloc \>::reference

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

Reimplemented from **std::iterator\< std::random\_access\_iterator\_tag, CharT \>**.

Definition at line 1054 of file stl\_rope.h.

### template\<class CharT, class Alloc\> typedef Rope\_char\_ref\_proxy\<CharT,Alloc\>\* \_\_gnu\_cxx::Rope\_iterator\< CharT, Alloc \>::pointer

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

Reimplemented from **std::iterator\< std::random\_access\_iterator\_tag, CharT \>**.

Definition at line 1055 of file stl\_rope.h.

### typedef std::random\_access\_iterator\_tag std::iterator\< std::random\_access\_iterator\_tag , CharT , ptrdiff\_t , CharT \* , CharT & \>::iterator\_category` [inherited]`

One of the **tag types**.

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

### typedef CharT std::iterator\< std::random\_access\_iterator\_tag , CharT , ptrdiff\_t , CharT \* , CharT & \>::value\_type` [inherited]`

The type 'pointed to' by the iterator.

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

### typedef ptrdiff\_t std::iterator\< std::random\_access\_iterator\_tag , CharT , ptrdiff\_t , CharT \* , CharT & \>::difference\_type` [inherited]`

Distance between iterators is represented as this type.

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

## Author

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