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
2066  : current()
2067  { // construct with value-initialized wrapped iterator
2068  }
iterator_type current
Definition: xutility:2176
template<class _RanIt>
move_iterator< _RanIt >::move_iterator ( iterator_type  _Right)
inlineexplicit
2071  : current(_Right)
2072  { // construct wrapped iterator from _Right
2073  }
iterator_type current
Definition: xutility:2176
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _RanIt>
template<class _RanIt2 >
move_iterator< _RanIt >::move_iterator ( const move_iterator< _RanIt2 > &  _Right)
inline
2077  : current(_Right.base())
2078  { // initialize with compatible base
2079  }
_RanIt base() const
Definition: xutility:2088
iterator_type current
Definition: xutility:2176

Member Function Documentation

template<class _RanIt>
template<class _RanIt2 >
bool move_iterator< _RanIt >::_Equal ( const move_iterator< _RanIt2 > &  _Right) const
inline
2131  { // test for iterator equality
2132  return (current == _Right.base());
2133  }
_RanIt base() const
Definition: xutility:2088
iterator_type current
Definition: xutility:2176
template<class _RanIt>
template<class _RanIt2 >
bool move_iterator< _RanIt >::_Less ( const move_iterator< _RanIt2 > &  _Right) const
inline
2166  { // test if this < _Right
2167  return (current < _Right.base());
2168  }
_RanIt base() const
Definition: xutility:2088
iterator_type current
Definition: xutility:2176
template<class _RanIt>
_RanIt move_iterator< _RanIt >::base ( ) const
inline
2089  { // return wrapped iterator
2090  return (current);
2091  }
iterator_type current
Definition: xutility:2176
template<class _RanIt>
reference move_iterator< _RanIt >::operator* ( ) const
inline
2094  { // return designated value
2095  return (static_cast<reference>(*current));
2096  }
iterator_type current
Definition: xutility:2176
template<class _RanIt>
_Myt move_iterator< _RanIt >::operator+ ( difference_type  _Off) const
inline
2144  { // return this + integer
2145  return (_Myt(current + _Off));
2146  }
move_iterator< _RanIt > _Myt
Definition: xutility:2052
iterator_type current
Definition: xutility:2176
template<class _RanIt>
_Myt& move_iterator< _RanIt >::operator++ ( )
inline
2104  { // preincrement
2105  ++current;
2106  return (*this);
2107  }
iterator_type current
Definition: xutility:2176
template<class _RanIt>
_Myt move_iterator< _RanIt >::operator++ ( int  )
inline
2110  { // postincrement
2111  _Myt _Tmp = *this;
2112  ++current;
2113  return (_Tmp);
2114  }
move_iterator< _RanIt > _Myt
Definition: xutility:2052
iterator_type current
Definition: xutility:2176
template<class _RanIt>
_Myt& move_iterator< _RanIt >::operator+= ( difference_type  _Off)
inline
2138  { // increment by integer
2139  current += _Off;
2140  return (*this);
2141  }
iterator_type current
Definition: xutility:2176
template<class _RanIt>
_Myt move_iterator< _RanIt >::operator- ( difference_type  _Off) const
inline
2155  { // return this - integer
2156  return (_Myt(current - _Off));
2157  }
move_iterator< _RanIt > _Myt
Definition: xutility:2052
iterator_type current
Definition: xutility:2176
template<class _RanIt>
difference_type move_iterator< _RanIt >::operator- ( const _Myt _Right) const
inline
2171  { // return difference of iterators
2172  return (current - _Right.base());
2173  }
iterator_type current
Definition: xutility:2176
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _RanIt>
_Myt& move_iterator< _RanIt >::operator-- ( )
inline
2117  { // predecrement
2118  --current;
2119  return (*this);
2120  }
iterator_type current
Definition: xutility:2176
template<class _RanIt>
_Myt move_iterator< _RanIt >::operator-- ( int  )
inline
2123  { // postdecrement
2124  _Myt _Tmp = *this;
2125  --current;
2126  return (_Tmp);
2127  }
move_iterator< _RanIt > _Myt
Definition: xutility:2052
iterator_type current
Definition: xutility:2176
template<class _RanIt>
_Myt& move_iterator< _RanIt >::operator-= ( difference_type  _Off)
inline
2149  { // decrement by integer
2150  current -= _Off;
2151  return (*this);
2152  }
iterator_type current
Definition: xutility:2176
template<class _RanIt>
pointer move_iterator< _RanIt >::operator-> ( ) const
inline
2099  { // return pointer to class object
2100  return (current);
2101  }
iterator_type current
Definition: xutility:2176
template<class _RanIt>
template<class _RanIt2 >
_Myt& move_iterator< _RanIt >::operator= ( const move_iterator< _RanIt2 > &  _Right)
inline
2083  { // assign with compatible base
2084  current = _Right.base();
2085  return (*this);
2086  }
_RanIt base() const
Definition: xutility:2088
iterator_type current
Definition: xutility:2176
template<class _RanIt>
reference move_iterator< _RanIt >::operator[] ( difference_type  _Off) const
inline
2160  { // subscript
2161  return (_STD move(current[_Off]));
2162  }
_OutIt move(_InIt _First, _InIt _Last, _OutIt _Dest)
Definition: xutility:2572
iterator_type current
Definition: xutility:2176

Member Data Documentation

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

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