mn::move_iterator< TIterator > Class Template Reference

#include <mn_iterator.hpp>

Public Types

using self_type = move_iterator< TIterator >
 
using iterator = TIterator
 
using value_type = typename iterator_traits< TIterator >::value_type
 
using difference_type = typename iterator_traits< TIterator >::difference_type
 
using pointer = typename iterator_traits< TIterator >::pointer
 
using reference = value_type &&
 
using iterator_category = typename iterator_traits< TIterator >::iterator_category
 

Public Member Functions

constexpr move_iterator ()
 
constexpr move_iterator (iterator iter)
 
constexpr iterator base () const
 
constexpr bool operator== (const move_iterator &iter) const
 
constexpr bool operator< (const move_iterator &iter) const
 
constexpr reference operator* () const
 
constexpr pointer operator-> () const
 
constexpr move_iteratoroperator++ ()
 
constexpr move_iteratoroperator-- ()
 
constexpr move_iterator operator++ (int)
 
constexpr move_iterator operator-- (int)
 
constexpr move_iteratoroperator+= (size_t n)
 
constexpr move_iteratoroperator-= (size_t n)
 
constexpr move_iterator operator+ (size_t n) const
 
constexpr move_iterator operator- (size_t n) const
 
constexpr reference operator[] (uint32_t n) const
 
constexpr difference_type operator- (const move_iterator &i) const
 

Protected Attributes

iterator m_itr
 

Member Typedef Documentation

◆ difference_type

template<typename TIterator >
using mn::move_iterator< TIterator >::difference_type = typename iterator_traits<TIterator>::difference_type

◆ iterator

template<typename TIterator >
using mn::move_iterator< TIterator >::iterator = TIterator

◆ iterator_category

template<typename TIterator >
using mn::move_iterator< TIterator >::iterator_category = typename iterator_traits<TIterator>::iterator_category

◆ pointer

template<typename TIterator >
using mn::move_iterator< TIterator >::pointer = typename iterator_traits<TIterator>::pointer

◆ reference

template<typename TIterator >
using mn::move_iterator< TIterator >::reference = value_type&&

◆ self_type

template<typename TIterator >
using mn::move_iterator< TIterator >::self_type = move_iterator<TIterator>

◆ value_type

template<typename TIterator >
using mn::move_iterator< TIterator >::value_type = typename iterator_traits<TIterator>::value_type

Constructor & Destructor Documentation

◆ move_iterator() [1/2]

template<typename TIterator >
constexpr mn::move_iterator< TIterator >::move_iterator ( )
inlineconstexpr

◆ move_iterator() [2/2]

template<typename TIterator >
constexpr mn::move_iterator< TIterator >::move_iterator ( iterator  iter)
inlineexplicitconstexpr

Member Function Documentation

◆ base()

template<typename TIterator >
constexpr iterator mn::move_iterator< TIterator >::base ( ) const
inlineconstexpr

◆ operator*()

template<typename TIterator >
constexpr reference mn::move_iterator< TIterator >::operator* ( void  ) const
inlineconstexpr

◆ operator+()

template<typename TIterator >
constexpr move_iterator mn::move_iterator< TIterator >::operator+ ( size_t  n) const
inlineconstexpr

◆ operator++() [1/2]

template<typename TIterator >
constexpr move_iterator& mn::move_iterator< TIterator >::operator++ ( void  )
inlineconstexpr

◆ operator++() [2/2]

template<typename TIterator >
constexpr move_iterator mn::move_iterator< TIterator >::operator++ ( int  )
inlineconstexpr

◆ operator+=()

template<typename TIterator >
constexpr move_iterator& mn::move_iterator< TIterator >::operator+= ( size_t  n)
inlineconstexpr

◆ operator-() [1/2]

template<typename TIterator >
constexpr difference_type mn::move_iterator< TIterator >::operator- ( const move_iterator< TIterator > &  i) const
inlineconstexpr

◆ operator-() [2/2]

template<typename TIterator >
constexpr move_iterator mn::move_iterator< TIterator >::operator- ( size_t  n) const
inlineconstexpr

◆ operator--() [1/2]

template<typename TIterator >
constexpr move_iterator& mn::move_iterator< TIterator >::operator-- ( )
inlineconstexpr

◆ operator--() [2/2]

template<typename TIterator >
constexpr move_iterator mn::move_iterator< TIterator >::operator-- ( int  )
inlineconstexpr

◆ operator-=()

template<typename TIterator >
constexpr move_iterator& mn::move_iterator< TIterator >::operator-= ( size_t  n)
inlineconstexpr

◆ operator->()

template<typename TIterator >
constexpr pointer mn::move_iterator< TIterator >::operator-> ( ) const
inlineconstexpr

◆ operator<()

template<typename TIterator >
constexpr bool mn::move_iterator< TIterator >::operator< ( const move_iterator< TIterator > &  iter) const
inlineconstexpr

◆ operator==()

template<typename TIterator >
constexpr bool mn::move_iterator< TIterator >::operator== ( const move_iterator< TIterator > &  iter) const
inlineconstexpr

◆ operator[]()

template<typename TIterator >
constexpr reference mn::move_iterator< TIterator >::operator[] ( uint32_t  n) const
inlineconstexpr

Member Data Documentation

◆ m_itr

template<typename TIterator >
iterator mn::move_iterator< TIterator >::m_itr
protected

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