table of contents
        
      
      
    | std::_Deque_iterator< _Tp, _Ref, _Ptr >(3) | Library Functions Manual | std::_Deque_iterator< _Tp, _Ref, _Ptr >(3) | 
NAME¶
std::_Deque_iterator< _Tp, _Ref, _Ptr > - A deque::iterator.
SYNOPSIS¶
Public Types¶
typedef __ptr_to< _Tp > _Elt_pointer
  
  typedef __ptr_to< _Elt_pointer > _Map_pointer
  
  typedef _Deque_iterator _Self
  
  typedef __iter< const _Tp > const_iterator
  
  typedef ptrdiff_t difference_type
  
  typedef __iter< _Tp > iterator
  
  typedef std::random_access_iterator_tag iterator_category
  
  typedef _Ptr pointer
  
  typedef _Ref reference
  
  typedef size_t size_type
  
  typedef _Tp value_type
  
  
Public Member Functions¶
_Deque_iterator (_Elt_pointer __x, _Map_pointer __y)
    noexcept
  
  _Deque_iterator (const iterator &__x) noexcept
  
  iterator _M_const_cast () const noexcept
  
  void _M_set_node (_Map_pointer __new_node) noexcept
  
  reference operator* () const noexcept
  
  _Self operator+ (difference_type __n) const noexcept
  
  _Self & operator++ () noexcept
  
  _Self operator++ (int) noexcept
  
  _Self & operator+= (difference_type __n) noexcept
  
  _Self operator- (difference_type __n) const noexcept
  
  _Self & operator-- () noexcept
  
  _Self operator-- (int) noexcept
  
  _Self & operator-= (difference_type __n) noexcept
  
  pointer operator-> () const noexcept
  
  reference operator[] (difference_type __n) const noexcept
  
  
Static Public Member Functions¶
static size_t _S_buffer_size () noexcept
  
  
Public Attributes¶
_Elt_pointer _M_cur
  
  _Elt_pointer _M_first
  
  _Elt_pointer _M_last
  
  _Map_pointer _M_node
  
  
Detailed Description¶
template<typename _Tp, typename _Ref, typename _Ptr>¶
struct 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.
All the functions are op overloads except for _M_set_node.
Definition at line 109 of file stl_deque.h.
Member Function Documentation¶
template<typename _Tp, typename _Ref, typename _Ptr> void std::_Deque_iterator< _Tp, _Ref, _Ptr >::_M_set_node (_Map_pointer __new_node) [inline], [noexcept]¶
Prepares to traverse new_node. Sets everything except _M_cur, which should therefore be set by the caller immediately afterwards, based on _M_first and _M_last.
Definition at line 255 of file stl_deque.h.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
| Fri May 24 2024 | libstdc++ |