# __gnu_cxx::_Rope_iterator< _CharT, _Alloc > Class Template Reference

Inheritance diagram for __gnu_cxx::_Rope_iterator< _CharT, _Alloc >:

List of all members.

## Detailed Description

### template<class _CharT, class _Alloc>
class __gnu_cxx::_Rope_iterator< _CharT, _Alloc >

Definition at line 1263 of file rope.

## Public Types

- typedef _Alloc _allocator_type
- typedef _Distance difference_type
- typedef _Category iterator_category
- typedef _Rope_char_ref_proxy<
  _CharT, _Alloc > * pointer
- typedef _Rope_char_ref_proxy<
  _CharT, _Alloc > reference
- typedef _Tp value_type

## Public Member Functions

- _Rope_iterator (rope< _CharT, _Alloc > &__r, size_t __pos)
- _Rope_iterator (const _Rope_iterator &__x)
- _Rope_iterator ()
- rope< _CharT, _Alloc > & container ()
- size_t index () const
- reference operator * () const
- reference operator * ()
- _Rope_iterator operator++ (int)
- _Rope_iterator & operator++ ()
- _Rope_iterator & operator+= (ptrdiff_t __n)
- _Rope_iterator operator-- (int)
- _Rope_iterator & operator-- ()
- _Rope_iterator & operator-= (ptrdiff_t __n)
- _Rope_iterator & operator= (const _Rope_iterator &__x)
- reference operator[] (ptrdiff_t __n)
- ~_Rope_iterator ()

## Protected Types

- enum { _S_path_cache_len }
- enum { _S_iterator_buf_len }
- typedef _Rope_iterator_base<
  _CharT, _Alloc >::_RopeRep _RopeRep

## Protected Member Functions

- void _M_check ()
- void _M_decr (size_t __n)
- void _M_incr (size_t __n)
- _Rope_iterator (rope< _CharT, _Alloc > *__r, size_t __pos)

## 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

- _CharT * _M_buf_end
- _CharT * _M_buf_ptr
- _CharT * _M_buf_start
- size_t _M_current_pos
- int _M_leaf_index
- size_t _M_leaf_pos
- unsigned char _M_path_directions
- const _RopeRep * _M_path_end [_S_path_cache_len]
- _RopeRep * _M_root
- rope< _CharT, _Alloc > * _M_root_rope
- _CharT _M_tmp_buf [_S_iterator_buf_len]

## Friends

- template<class _CharT2, class _Alloc2> _Rope_iterator< _CharT2, _Alloc2 > operator+ (ptrdiff_t __n, const _Rope_iterator< _CharT2, _Alloc2 > &__x)
- template<class _CharT2, class _Alloc2> _Rope_iterator< _CharT2, _Alloc2 > operator+ (const _Rope_iterator< _CharT2, _Alloc2 > &__x, ptrdiff_t __n)
- template<class _CharT2, class _Alloc2> _Rope_iterator< _CharT2, _Alloc2 > operator- (const _Rope_iterator< _CharT2, _Alloc2 > &__x, ptrdiff_t __n)
- template<class _CharT2, class _Alloc2> ptrdiff_t operator- (const _Rope_iterator< _CharT2, _Alloc2 > &__x, const _Rope_iterator< _CharT2, _Alloc2 > &__y)
- template<class _CharT2, class _Alloc2> bool operator< (const _Rope_iterator< _CharT2, _Alloc2 > &__x, const _Rope_iterator< _CharT2, _Alloc2 > &__y)
- template<class _CharT2, class _Alloc2> bool operator== (const _Rope_iterator< _CharT2, _Alloc2 > &__x, const _Rope_iterator< _CharT2, _Alloc2 > &__y)
- class rope< _CharT, _Alloc >

## Member Typedef Documentation

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Distance std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::difference_type`[inherited]`

Distance between iterators is represented as this type.

Reimplemented in std::reverse_iterator< _Iterator >.

Definition at line 113 of file stl_iterator_base_types.h.

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Category std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::iterator_category`[inherited]`

One of the tag types.

Definition at line 109 of file stl_iterator_base_types.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< _Category, _Tp, _Distance, _Pointer, _Reference >.

Definition at line 1288 of file rope.

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< _Category, _Tp, _Distance, _Pointer, _Reference >.

Definition at line 1287 of file rope.

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Tp std::iterator< _Category, _Tp, _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 111 of file stl_iterator_base_types.h.

The documentation for this class was generated from the following files:

- rope
- ropeimpl.h