_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 std::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

static 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 101 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 115 of file stl_deque.h.

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

Definition at line 116 of file stl_deque.h.

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 104 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 114 of file stl_deque.h.

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

Definition at line 103 of file stl_deque.h.

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

Definition at line 109 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 111 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 112 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 113 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 110 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 123 of file stl_deque.h.

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

Definition at line 127 of file stl_deque.h.

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

Definition at line 129 of file stl_deque.h.


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 229 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, and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_S_buffer_size().

Referenced by _GLIBCXX_STD::_Deque_base< _Tp, _Alloc >::_M_initialize_map(), _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>
static size_t _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_S_buffer_size (  )  [inline, static]

Definition at line 106 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 134 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 201 of file stl_deque.h.

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

Definition at line 154 of file stl_deque.h.

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

Definition at line 142 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 182 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(), and _GLIBCXX_STD::_Deque_iterator< _Tp, _Ref, _Ptr >::_S_buffer_size().

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

Definition at line 212 of file stl_deque.h.

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

Definition at line 174 of file stl_deque.h.

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

Definition at line 162 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 208 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 138 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 219 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 118 of file stl_deque.h.

Referenced by _GLIBCXX_STD::_Deque_base< _Tp, _Alloc >::_M_initialize_map(), _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 119 of file stl_deque.h.

Referenced by _GLIBCXX_STD::_Deque_base< _Tp, _Alloc >::_M_initialize_map(), _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 120 of file stl_deque.h.

Referenced by _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 121 of file stl_deque.h.

Referenced by _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 Feb 2 16:58:20 2010 for GNU C++ STL by  doxygen 1.4.7