_GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr > Struct Template Reference

A deque::iterator. More...

#include <stl_deque.h>

List of all members.

Public Types

typedef _Deque_iterator< _Tp,
_Tp &, _Tp * > 
iterator
typedef _Deque_iterator< _Tp,
const _Tp &, const _Tp * > 
const_iterator
typedef random_access_iterator_tag iterator_category
typedef _Tp value_type
typedef _Ptr pointer
typedef _Ref reference
typedef size_t size_type
typedef ptrdiff_t difference_type
typedef _Tp ** _Map_pointer
typedef _Deque_iterator _Self

Public Member Functions

 _Deque_iterator (_Tp *__x, _Map_pointer __y)
 _Deque_iterator ()
 _Deque_iterator (const iterator &__x)
reference operator * () const
pointer operator-> () const
_Selfoperator++ ()
_Self operator++ (int)
_Selfoperator-- ()
_Self operator-- (int)
_Selfoperator+= (difference_type __n)
_Self operator+ (difference_type __n) const
_Selfoperator-= (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

size_t _S_buffer_size ()

Public Attributes

_Tp * _M_cur
_Tp * _M_first
_Tp * _M_last
_Map_pointer _M_node


Detailed Description

template<typename _Tp, typename _Ref, typename _Ptr>
struct _GLIBCXX_STD::_Deque_iterator< _Tp, _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 stl_deque.h.


Member Typedef Documentation

template<typename _Tp, typename _Ref, typename _Ptr>
typedef _Tp** _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Map_pointer
 

Definition at line 114 of file stl_deque.h.

Referenced by _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Deque_iterator(), and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_set_node().

template<typename _Tp, typename _Ref, typename _Ptr>
typedef _Deque_iterator _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Self
 

Definition at line 115 of file stl_deque.h.

Referenced by _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator+(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator++(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator-(), and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator--().

template<typename _Tp, typename _Ref, typename _Ptr>
typedef _Deque_iterator<_Tp, const _Tp&, const _Tp*> _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::const_iterator
 

Definition at line 103 of file stl_deque.h.

template<typename _Tp, typename _Ref, typename _Ptr>
typedef ptrdiff_t _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::difference_type
 

Definition at line 113 of file stl_deque.h.

Referenced by _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_set_node(), and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator+=().

template<typename _Tp, typename _Ref, typename _Ptr>
typedef _Deque_iterator<_Tp, _Tp&, _Tp*> _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::iterator
 

Definition at line 102 of file stl_deque.h.

template<typename _Tp, typename _Ref, typename _Ptr>
typedef random_access_iterator_tag _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::iterator_category
 

Definition at line 108 of file stl_deque.h.

template<typename _Tp, typename _Ref, typename _Ptr>
typedef _Ptr _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::pointer
 

Definition at line 110 of file stl_deque.h.

template<typename _Tp, typename _Ref, typename _Ptr>
typedef _Ref _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::reference
 

Definition at line 111 of file stl_deque.h.

template<typename _Tp, typename _Ref, typename _Ptr>
typedef size_t _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::size_type
 

Definition at line 112 of file stl_deque.h.

template<typename _Tp, typename _Ref, typename _Ptr>
typedef _Tp _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::value_type
 

Definition at line 109 of file stl_deque.h.


Constructor & Destructor Documentation

template<typename _Tp, typename _Ref, typename _Ptr>
_GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Deque_iterator _Tp *  __x,
_Map_pointer  __y
[inline]
 

Definition at line 122 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_cur, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_first, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_last, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_node, and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Map_pointer.

template<typename _Tp, typename _Ref, typename _Ptr>
_GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Deque_iterator  )  [inline]
 

Definition at line 126 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_cur, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_first, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_last, and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_node.

template<typename _Tp, typename _Ref, typename _Ptr>
_GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Deque_iterator const iterator __x  )  [inline]
 

Definition at line 128 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_cur, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_first, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_last, and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_node.


Member Function Documentation

template<typename _Tp, typename _Ref, typename _Ptr>
void _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_set_node _Map_pointer  __new_node  )  [inline]
 

Definition at line 228 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_first, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_last, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_node, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Map_pointer, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_S_buffer_size(), and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::difference_type.

Referenced by _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator++(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator+=(), and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator--().

template<typename _Tp, typename _Ref, typename _Ptr>
size_t _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_S_buffer_size  )  [inline, static]
 

Definition at line 105 of file stl_deque.h.

References _GLIBCXX_STD::__deque_buf_size().

Referenced by _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_set_node(), and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator+=().

template<typename _Tp, typename _Ref, typename _Ptr>
reference _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator *  )  const [inline]
 

Definition at line 133 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_cur.

template<typename _Tp, typename _Ref, typename _Ptr>
_Self _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator+ difference_type  __n  )  const [inline]
 

Definition at line 200 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Self.

template<typename _Tp, typename _Ref, typename _Ptr>
_Self _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator++ int   )  [inline]
 

Definition at line 153 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Self.

template<typename _Tp, typename _Ref, typename _Ptr>
_Self& _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator++  )  [inline]
 

Definition at line 141 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_cur, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_first, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_last, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_node, and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_set_node().

template<typename _Tp, typename _Ref, typename _Ptr>
_Self& _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator+= difference_type  __n  )  [inline]
 

Definition at line 181 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_cur, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_first, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_node, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_set_node(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_S_buffer_size(), and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::difference_type.

template<typename _Tp, typename _Ref, typename _Ptr>
_Self _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator- difference_type  __n  )  const [inline]
 

Definition at line 211 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Self.

template<typename _Tp, typename _Ref, typename _Ptr>
_Self _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator-- int   )  [inline]
 

Definition at line 173 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Self.

template<typename _Tp, typename _Ref, typename _Ptr>
_Self& _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator--  )  [inline]
 

Definition at line 161 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_cur, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_first, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_last, _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_node, and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_set_node().

template<typename _Tp, typename _Ref, typename _Ptr>
_Self& _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator-= difference_type  __n  )  [inline]
 

Definition at line 207 of file stl_deque.h.

template<typename _Tp, typename _Ref, typename _Ptr>
pointer _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator->  )  const [inline]
 

Definition at line 137 of file stl_deque.h.

References _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_cur.

template<typename _Tp, typename _Ref, typename _Ptr>
reference _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator[] difference_type  __n  )  const [inline]
 

Definition at line 218 of file stl_deque.h.


Member Data Documentation

template<typename _Tp, typename _Ref, typename _Ptr>
_Tp* _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_cur
 

Definition at line 117 of file stl_deque.h.

Referenced by _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Deque_iterator(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator *(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator++(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator+=(), _GLIBCXX_STD::operator-(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator--(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator->(), and _GLIBCXX_STD::operator==().

template<typename _Tp, typename _Ref, typename _Ptr>
_Tp* _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_first
 

Definition at line 118 of file stl_deque.h.

Referenced by _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Deque_iterator(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_set_node(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator++(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator+=(), _GLIBCXX_STD::operator-(), and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator--().

template<typename _Tp, typename _Ref, typename _Ptr>
_Tp* _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_last
 

Definition at line 119 of file stl_deque.h.

Referenced by _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Deque_iterator(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_set_node(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator++(), _GLIBCXX_STD::operator-(), and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator--().

template<typename _Tp, typename _Ref, typename _Ptr>
_Map_pointer _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_node
 

Definition at line 120 of file stl_deque.h.

Referenced by _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_Deque_iterator(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_set_node(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator++(), _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator+=(), _GLIBCXX_STD::operator-(), and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::operator--().


The documentation for this struct was generated from the following file:
Generated on Tue Jan 30 17:32:07 2007 for GNU C++ STL by doxygen 1.3.6