Nugget
Public Types | Public Member Functions | Protected Attributes | List of all members
eastl::move_iterator< Iterator > Class Template Reference

#include <iterator.h>

Public Types

typedef Iterator iterator_type
 
typedef iterator_type wrapped_iterator_type
 
typedef iterator_traits< Iterator > traits_type
 
typedef traits_type::iterator_category iterator_category
 
typedef traits_type::value_type value_type
 
typedef traits_type::difference_type difference_type
 
typedef Iterator pointer
 
using reference = conditional_t< is_reference< WrappedIteratorReference >::value, remove_reference_t< WrappedIteratorReference > &&, WrappedIteratorReference >
 

Public Member Functions

 move_iterator (iterator_type mi)
 
template<typename U >
 move_iterator (const move_iterator< U > &mi)
 
iterator_type base () const
 
reference operator* () const
 
pointer operator-> () const
 
move_iteratoroperator++ ()
 
move_iterator operator++ (int)
 
move_iteratoroperator-- ()
 
move_iterator operator-- (int)
 
move_iterator operator+ (difference_type n) const
 
move_iteratoroperator+= (difference_type n)
 
move_iterator operator- (difference_type n) const
 
move_iteratoroperator-= (difference_type n)
 
reference operator[] (difference_type n) const
 

Protected Attributes

iterator_type mIterator
 

Detailed Description

template<typename Iterator>
class eastl::move_iterator< Iterator >

unwrap_reverse_iterator

Returns Iterator::get_base() if it's a reverse_iterator, else returns Iterator as-is.

Example usage: vector<int> intVector; eastl::reverse_iterator<vector<int>::iterator> reverseIterator(intVector.begin()); vector<int>::iterator it = unwrap_reverse_iterator(reverseIterator);

Disabled until there is considered a good use for it. template <typename Iterator> inline typename eastl::is_iterator_wrapper_helper<Iterator, eastl::is_reverse_iterator<Iterator>::value>::iterator_type unwrap_reverse_iterator(Iterator it) { return eastl::is_iterator_wrapper_helper<Iterator, eastl::is_reverse_iterator<Iterator>::value>::get_base(it); } move_iterator

From the C++11 Standard, section 24.5.3.1: Class template move_iterator is an iterator adaptor with the same behavior as the underlying iterator except that its dereference operator implicitly converts the value returned by the underlying iterator's dereference operator to an rvalue reference. Some generic algorithms can be called with move iterators to replace copying with moving.


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