ReactOS  0.4.13-dev-241-g63286c6
_List_iterator< _Tp, _Traits > Struct Template Reference

#include <_list.h>

Inheritance diagram for _List_iterator< _Tp, _Traits >:
Collaboration diagram for _List_iterator< _Tp, _Traits >:

Public Types

typedef _Tp value_type
 
typedef _Traits::pointer pointer
 
typedef _Traits::reference reference
 
typedef _List_iterator< _Tp, _Traits > _Self
 
typedef _Traits::_NonConstTraits _NonConstTraits
 
typedef _List_iterator< _Tp, _NonConstTraitsiterator
 
typedef _Traits::_ConstTraits _ConstTraits
 
typedef _List_iterator< _Tp, _ConstTraitsconst_iterator
 
typedef bidirectional_iterator_tag iterator_category
 
typedef _List_node< _Tp > _Node
 
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
- Public Types inherited from _List_iterator_base
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
typedef bidirectional_iterator_tag iterator_category
 

Public Member Functions

 _List_iterator (_List_node_base *__x)
 
 _List_iterator ()
 
 _List_iterator (const iterator &__x)
 
reference operator * () const
 
_STLP_DEFINE_ARROW_OPERATOR _Selfoperator++ ()
 
_Self operator++ (int)
 
_Selfoperator-- ()
 
_Self operator-- (int)
 
bool operator== (const_iterator __y) const
 
bool operator!= (const_iterator __y) const
 
- Public Member Functions inherited from _List_iterator_base
 _List_iterator_base (_List_node_base *__x)
 
void _M_incr ()
 
void _M_decr ()
 

Additional Inherited Members

- Public Attributes inherited from _List_iterator_base
_List_node_base_M_node
 

Detailed Description

template<class _Tp, class _Traits>
struct _List_iterator< _Tp, _Traits >

Definition at line 97 of file _list.h.

Member Typedef Documentation

◆ _ConstTraits

template<class _Tp , class _Traits >
typedef _Traits::_ConstTraits _List_iterator< _Tp, _Traits >::_ConstTraits

Definition at line 105 of file _list.h.

◆ _Node

template<class _Tp , class _Traits >
typedef _List_node<_Tp> _List_iterator< _Tp, _Traits >::_Node

Definition at line 109 of file _list.h.

◆ _NonConstTraits

template<class _Tp , class _Traits >
typedef _Traits::_NonConstTraits _List_iterator< _Tp, _Traits >::_NonConstTraits

Definition at line 103 of file _list.h.

◆ _Self

template<class _Tp , class _Traits >
typedef _List_iterator<_Tp, _Traits> _List_iterator< _Tp, _Traits >::_Self

Definition at line 102 of file _list.h.

◆ const_iterator

template<class _Tp , class _Traits >
typedef _List_iterator<_Tp, _ConstTraits> _List_iterator< _Tp, _Traits >::const_iterator

Definition at line 106 of file _list.h.

◆ difference_type

template<class _Tp , class _Traits >
typedef ptrdiff_t _List_iterator< _Tp, _Traits >::difference_type

Definition at line 111 of file _list.h.

◆ iterator

template<class _Tp , class _Traits >
typedef _List_iterator<_Tp, _NonConstTraits> _List_iterator< _Tp, _Traits >::iterator

Definition at line 104 of file _list.h.

◆ iterator_category

template<class _Tp , class _Traits >
typedef bidirectional_iterator_tag _List_iterator< _Tp, _Traits >::iterator_category

Definition at line 108 of file _list.h.

◆ pointer

template<class _Tp , class _Traits >
typedef _Traits::pointer _List_iterator< _Tp, _Traits >::pointer

Definition at line 99 of file _list.h.

◆ reference

template<class _Tp , class _Traits >
typedef _Traits::reference _List_iterator< _Tp, _Traits >::reference

Definition at line 100 of file _list.h.

◆ size_type

template<class _Tp , class _Traits >
typedef size_t _List_iterator< _Tp, _Traits >::size_type

Definition at line 110 of file _list.h.

◆ value_type

template<class _Tp , class _Traits >
typedef _Tp _List_iterator< _Tp, _Traits >::value_type

Definition at line 98 of file _list.h.

Constructor & Destructor Documentation

◆ _List_iterator() [1/3]

template<class _Tp , class _Traits >
_List_iterator< _Tp, _Traits >::_List_iterator ( _List_node_base __x)
inlineexplicit

Definition at line 113 of file _list.h.

113 : _List_iterator_base(__x) {}
_List_iterator_base(_List_node_base *__x)
Definition: _list.h:89

◆ _List_iterator() [2/3]

template<class _Tp , class _Traits >
_List_iterator< _Tp, _Traits >::_List_iterator ( )
inline

Definition at line 114 of file _list.h.

114 : _List_iterator_base(0) {}
_List_iterator_base(_List_node_base *__x)
Definition: _list.h:89

◆ _List_iterator() [3/3]

template<class _Tp , class _Traits >
_List_iterator< _Tp, _Traits >::_List_iterator ( const iterator __x)
inline

Definition at line 116 of file _list.h.

116 : _List_iterator_base(__x._M_node) {}
_List_iterator_base(_List_node_base *__x)
Definition: _list.h:89

Member Function Documentation

◆ operator *()

template<class _Tp , class _Traits >
reference _List_iterator< _Tp, _Traits >::operator * ( ) const
inline

Definition at line 118 of file _list.h.

118 { return __STATIC_CAST(_Node*, this->_M_node)->_M_data; }
#define __STATIC_CAST(__x, __y)
Definition: features.h:585
_List_node_base * _M_node
Definition: _list.h:87
_List_node< _Tp > _Node
Definition: _list.h:109

◆ operator!=()

template<class _Tp , class _Traits >
bool _List_iterator< _Tp, _Traits >::operator!= ( const_iterator  __y) const
inline

Definition at line 143 of file _list.h.

143  {
144  return this->_M_node != __y._M_node;
145  }
_List_node_base * _M_node
Definition: _list.h:87

◆ operator++() [1/2]

template<class _Tp , class _Traits >
_STLP_DEFINE_ARROW_OPERATOR _Self& _List_iterator< _Tp, _Traits >::operator++ ( )
inline

Definition at line 122 of file _list.h.

122  {
123  this->_M_incr();
124  return *this;
125  }
void _M_incr()
Definition: _list.h:91

◆ operator++() [2/2]

template<class _Tp , class _Traits >
_Self _List_iterator< _Tp, _Traits >::operator++ ( int  )
inline

Definition at line 126 of file _list.h.

126  {
127  _Self __tmp = *this;
128  this->_M_incr();
129  return __tmp;
130  }
_List_iterator< _Tp, _Traits > _Self
Definition: _list.h:102
void _M_incr()
Definition: _list.h:91

◆ operator--() [1/2]

template<class _Tp , class _Traits >
_Self& _List_iterator< _Tp, _Traits >::operator-- ( )
inline

Definition at line 131 of file _list.h.

131  {
132  this->_M_decr();
133  return *this;
134  }
void _M_decr()
Definition: _list.h:92

◆ operator--() [2/2]

template<class _Tp , class _Traits >
_Self _List_iterator< _Tp, _Traits >::operator-- ( int  )
inline

Definition at line 135 of file _list.h.

135  {
136  _Self __tmp = *this;
137  this->_M_decr();
138  return __tmp;
139  }
_List_iterator< _Tp, _Traits > _Self
Definition: _list.h:102
void _M_decr()
Definition: _list.h:92

◆ operator==()

template<class _Tp , class _Traits >
bool _List_iterator< _Tp, _Traits >::operator== ( const_iterator  __y) const
inline

Definition at line 140 of file _list.h.

140  {
141  return this->_M_node == __y._M_node;
142  }
_List_node_base * _M_node
Definition: _list.h:87

The documentation for this struct was generated from the following file: