STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Protected Attributes | List of all members
move_iterator< _RanIt > Class Template Reference

Public Types

typedef move_iterator< _RanIt > _Myt
 
typedef iterator_traits< _RanIt >::iterator_category iterator_category
 
typedef iterator_traits< _RanIt >::value_type value_type
 
typedef iterator_traits< _RanIt >::difference_type difference_type
 
typedef _RanIt pointer
 
typedef iterator_traits< _RanIt >::reference _Ref0
 
typedef conditional_t< is_reference< _Ref0 >::value, remove_reference_t< _Ref0 > &&, _Ref0reference
 
typedef _RanIt iterator_type
 

Public Member Functions

 move_iterator ()
 
 move_iterator (iterator_type _Right)
 
template<class _RanIt2 >
 move_iterator (const move_iterator< _RanIt2 > &_Right)
 
template<class _RanIt2 >
_Mytoperator= (const move_iterator< _RanIt2 > &_Right)
 
_RanIt base () const
 
reference operator* () const
 
pointer operator-> () const
 
_Mytoperator++ ()
 
_Myt operator++ (int)
 
_Mytoperator-- ()
 
_Myt operator-- (int)
 
template<class _RanIt2 >
bool _Equal (const move_iterator< _RanIt2 > &_Right) const
 
_Mytoperator+= (difference_type _Off)
 
_Myt operator+ (difference_type _Off) const
 
_Mytoperator-= (difference_type _Off)
 
_Myt operator- (difference_type _Off) const
 
reference operator[] (difference_type _Off) const
 
template<class _RanIt2 >
bool _Less (const move_iterator< _RanIt2 > &_Right) const
 
difference_type operator- (const _Myt &_Right) const
 

Protected Attributes

iterator_type current
 

Member Typedef Documentation

template<class _RanIt>
typedef move_iterator<_RanIt> move_iterator< _RanIt >::_Myt
template<class _RanIt>
typedef iterator_traits<_RanIt>::reference move_iterator< _RanIt >::_Ref0
template<class _RanIt>
typedef iterator_traits<_RanIt>::difference_type move_iterator< _RanIt >::difference_type
template<class _RanIt>
typedef iterator_traits<_RanIt>::iterator_category move_iterator< _RanIt >::iterator_category
template<class _RanIt>
typedef _RanIt move_iterator< _RanIt >::iterator_type
template<class _RanIt>
typedef _RanIt move_iterator< _RanIt >::pointer
template<class _RanIt>
typedef conditional_t<is_reference<_Ref0>::value, remove_reference_t<_Ref0>&&, _Ref0> move_iterator< _RanIt >::reference
template<class _RanIt>
typedef iterator_traits<_RanIt>::value_type move_iterator< _RanIt >::value_type

Constructor & Destructor Documentation

template<class _RanIt>
move_iterator< _RanIt >::move_iterator ( )
inline
2072  : current()
2073  { // construct with value-initialized wrapped iterator
2074  }
iterator_type current
Definition: xutility:2182
template<class _RanIt>
move_iterator< _RanIt >::move_iterator ( iterator_type  _Right)
inlineexplicit
2077  : current(_Right)
2078  { // construct wrapped iterator from _Right
2079  }
iterator_type current
Definition: xutility:2182
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<class _RanIt>
template<class _RanIt2 >
move_iterator< _RanIt >::move_iterator ( const move_iterator< _RanIt2 > &  _Right)
inline
2083  : current(_Right.base())
2084  { // initialize with compatible base
2085  }
_RanIt base() const
Definition: xutility:2094
iterator_type current
Definition: xutility:2182

Member Function Documentation

template<class _RanIt>
template<class _RanIt2 >
bool move_iterator< _RanIt >::_Equal ( const move_iterator< _RanIt2 > &  _Right) const
inline
2137  { // test for iterator equality
2138  return (current == _Right.base());
2139  }
_RanIt base() const
Definition: xutility:2094
iterator_type current
Definition: xutility:2182
template<class _RanIt>
template<class _RanIt2 >
bool move_iterator< _RanIt >::_Less ( const move_iterator< _RanIt2 > &  _Right) const
inline
2172  { // test if this < _Right
2173  return (current < _Right.base());
2174  }
_RanIt base() const
Definition: xutility:2094
iterator_type current
Definition: xutility:2182
template<class _RanIt>
_RanIt move_iterator< _RanIt >::base ( ) const
inline
2095  { // return wrapped iterator
2096  return (current);
2097  }
iterator_type current
Definition: xutility:2182
template<class _RanIt>
reference move_iterator< _RanIt >::operator* ( ) const
inline
2100  { // return designated value
2101  return (static_cast<reference>(*current));
2102  }
iterator_type current
Definition: xutility:2182
template<class _RanIt>
_Myt move_iterator< _RanIt >::operator+ ( difference_type  _Off) const
inline
2150  { // return this + integer
2151  return (_Myt(current + _Off));
2152  }
move_iterator< _RanIt > _Myt
Definition: xutility:2058
iterator_type current
Definition: xutility:2182
template<class _RanIt>
_Myt& move_iterator< _RanIt >::operator++ ( )
inline
2110  { // preincrement
2111  ++current;
2112  return (*this);
2113  }
iterator_type current
Definition: xutility:2182
template<class _RanIt>
_Myt move_iterator< _RanIt >::operator++ ( int  )
inline
2116  { // postincrement
2117  _Myt _Tmp = *this;
2118  ++current;
2119  return (_Tmp);
2120  }
move_iterator< _RanIt > _Myt
Definition: xutility:2058
iterator_type current
Definition: xutility:2182
template<class _RanIt>
_Myt& move_iterator< _RanIt >::operator+= ( difference_type  _Off)
inline
2144  { // increment by integer
2145  current += _Off;
2146  return (*this);
2147  }
iterator_type current
Definition: xutility:2182
template<class _RanIt>
_Myt move_iterator< _RanIt >::operator- ( difference_type  _Off) const
inline
2161  { // return this - integer
2162  return (_Myt(current - _Off));
2163  }
move_iterator< _RanIt > _Myt
Definition: xutility:2058
iterator_type current
Definition: xutility:2182
template<class _RanIt>
difference_type move_iterator< _RanIt >::operator- ( const _Myt _Right) const
inline
2177  { // return difference of iterators
2178  return (current - _Right.base());
2179  }
iterator_type current
Definition: xutility:2182
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<class _RanIt>
_Myt& move_iterator< _RanIt >::operator-- ( )
inline
2123  { // predecrement
2124  --current;
2125  return (*this);
2126  }
iterator_type current
Definition: xutility:2182
template<class _RanIt>
_Myt move_iterator< _RanIt >::operator-- ( int  )
inline
2129  { // postdecrement
2130  _Myt _Tmp = *this;
2131  --current;
2132  return (_Tmp);
2133  }
move_iterator< _RanIt > _Myt
Definition: xutility:2058
iterator_type current
Definition: xutility:2182
template<class _RanIt>
_Myt& move_iterator< _RanIt >::operator-= ( difference_type  _Off)
inline
2155  { // decrement by integer
2156  current -= _Off;
2157  return (*this);
2158  }
iterator_type current
Definition: xutility:2182
template<class _RanIt>
pointer move_iterator< _RanIt >::operator-> ( ) const
inline
2105  { // return pointer to class object
2106  return (current);
2107  }
iterator_type current
Definition: xutility:2182
template<class _RanIt>
template<class _RanIt2 >
_Myt& move_iterator< _RanIt >::operator= ( const move_iterator< _RanIt2 > &  _Right)
inline
2089  { // assign with compatible base
2090  current = _Right.base();
2091  return (*this);
2092  }
_RanIt base() const
Definition: xutility:2094
iterator_type current
Definition: xutility:2182
template<class _RanIt>
reference move_iterator< _RanIt >::operator[] ( difference_type  _Off) const
inline
2166  { // subscript
2167  return (_STD move(current[_Off]));
2168  }
_OutIt move(_InIt _First, _InIt _Last, _OutIt _Dest)
Definition: xutility:2633
iterator_type current
Definition: xutility:2182

Member Data Documentation

template<class _RanIt>
iterator_type move_iterator< _RanIt >::current
protected

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